U E D R , A S I H C RSS

Full text search for "2012/3/30 - 일대일 채팅 프로그램 만들기"

2012/3/30 - 일대일 채팅 프로그램 만들기


Search BackLinks only
Display context of search results
Case-sensitive searching
  • 새싹교실/2012/AClass/2회차 . . . . 68 matches
         1.0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜 주세요.
         2.소문자를 대문자로 바꾸는 프로그램을 작성해 주세요.
         3.다음 모양을 출력하는 프로그램을 작성해 주세요.
         4.다음 모양을 출력하는 프로그램을 작성해 주세요.
         5.위 두 프로그램을 일반화 시켜 입력받은 숫자만큼 출력해주는 프로그램을 작성해주세요.(위 프로그램은 21을 입력)
         6.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 피라미드 형태로 작성해 주세요.
         7.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 다이아몬드 형태로 작성해 주세요.
         8.아래 프로그램을 참고하여 60점 이하는 F, 61~70점 D, 71~80 C, 81~90 B, 90~ A인 프로그램을 작성해주세요.
         10.재귀함수를 이용해 n!을 출력하는 프로그램을 작성해 주세요.
         11.n!을 출력하는 프로그램을 for문으로 작성해주세요.
         12.재귀함수를 이용해 1부터10까지를 더하는 프로그램을 작성해 주세요.
         13.배열에 {7,4,2,9,3,1,2}가 들어있습니다. 이 배열에서 3이 있는지 없는지를 찾아서 출력해주는 프로그램을 작성해주세요.
         14.배열에 {7,4,2,9,3,1,2}가 들어있습니다. 이 배열에서 1이 몇번째에 있는지를 찾아서 출력해주는 프로그램을 작성해주세요. (단, 7은 첫번째입니다)
         15.배열에 {7,4,2,9,3,1,2}가 들어있습니다. 이 배열에서 2가 있는지 없는지를 검사하고, 있다면 어디에 있는지 전부 출력해주는 프로그램을 작성해주세요.
         16.배열에 {7,4,2,9,3,1,2}가 들어있습니다. 이 배열을 정렬(오름차순으로)하고, 출력하는 프로그램을 작성해주세요.
         1.2차원 배열이 무엇인지 쓰고, 어떻게 선언하는지도 작성한 뒤, 이를 이용한 간단한 프로그램을 작성해주세요.
         2.srand()함수가 무엇인지 찾아쓰고, time()을 이용해 랜덤으로 숫자를 하나 출력하는 프로그램을 작성해주세요.
         1. 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜 주세요.
         2. 소문자를 대문자로 바꾸는 프로그램을 작성해 주세요.
         3. 다음 모양을 출력하는 프로그램을 작성해 주세요.
  • Java Study2003/첫번째과제/장창재 . . . . 65 matches
          - 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
          자바 언어(Java Language)를 이용하여 작성한 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
         자바 언어로 작성된 자바 프로그램을 중간 언어(intermediate language) 형태인 자바 바이트코드로 컴파일 합니다<.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
         플랫폼이란 프로그램이 실행되는 하드웨어 또는 운영체제와 같은 소프트웨어적인 환경을 말합니다. 대부분의 플랫폼은 하드웨어와 운영체제를 함께 일컬어 말합니다. 그러나 자바 플랫폼은 하드웨어와 무관하게 동작하는 오직 소프트웨어적인 플랫폼이란 점에서 다른 플랫폼과 다릅니다. 이를 위해 자바 플랫폼은 다음과 같은 두 가지의 구성요소를 갖습니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
         자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러한 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         프로그램을 실행하는 중에 그 실행 형태를 분석하여 병목이 발생하는 부분을 찾아내어 최적화 시켜 줍니다.
         이러한 문제점은 느린(Lazy) 클래스 로딩에서 발생하거나 메모리 할당과 가비지 콜렉션이 비결정적이고 느린 최악의 경우(worst-case) 특성을 가지며 stop-start 방식으로 모든 스레드를 멈출 수 있다는 문제점이 있습니다. 이를 해결하기 위해 클래스를 미리 로딩(class preloading)한다거나 정적 초기화(static initializer)를 제거하여 패키지 라이브러리에 대해서는 가상머신 초기화를 사용하고 응용프로그램에서는 명시적인 초기화 를 사용하게 하는 등의 기법을 사용할 수 있습니다. 그리고, 메모리 할당과 쓰레기 수집(garbage collection)에 대해서는 정해진 시간 내에 입터럽트 가능한 쓰레기 수집을 하는 것입니다. 또는 표준화된 실시간 API를 제공함으로써 해결할 수 있습니다.
         * 자바 프로그램의 종류
         C언어를 이용하여 C 프로그램을 작성한다면 반드시 main이라는 시작 함수를 정의해 주어야 하고, 윈도우 응용프로그램을 작성한다고 하면 WinMain이라는 함수를 꼭 작성해 주어야 하지요. 이러한 것을 규약(protocol)이라 합니다. 마찬가지로, 자바 언어를 이용하여 여러 가지 종류의 자바 프로그램을 작성할 수 있는데, 이 때 각 자바 프로그램의 종류에 따라 해당 규약이 서로 다릅니다. 이렇듯 자바를 이용하여 자바 프로그램을 작성한다는 것은 각 자바 프로그램에서 제시하고 있는 규약을 지켜 프로그램을 작성한다는 것입니다. 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같습니다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
  • 새싹교실/2012/AClass/1회차 . . . . 52 matches
          빌드: 컴파일과 링크를 합쳐 빌드라 한다. 빌드를 해야 컴퓨터가 실행할수 있는 형태의 기계 링크: 프로그램마다의 라이브러리를 내가 만든 것과 연결해 주는 작업
         -상수형 :상수는 변환 할 수 없는 고유의 수, 프로그램을 개발할 때 변경되어 발생 할 수 있는 버그등의 위험을 줄이기 위해 사용(#define,const)
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
         - 확장성이 큰 것으로 , 긴 프로그램을 설계할 때 #define으로 정의된 것을 사용할수 있어서 편리하다.
         7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
         8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
         9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
         10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
         11.위 프로그램을 for문으로 바꿔 풀어보세요.
         1.함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
         - 함수란 프로그램내에서 동일한 명령문들의 반복되는 부분을 모아놓은 집합체이다. 피연산자나 식과 같이, 함수는 데이터형과 값을 갖고 있다.
         - 함수형 프로그래밍은 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍을 말한다. 기존 명령형 언어로 작성한 프로그램보다 간결하고 더 추상적이며 이해하기 쉽고 형식적인 분석과 조작이 용이하다는 특징이 있다.
         6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별한 일을 수행해주는 과정
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
         7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
         8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
         9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
         10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
         11.위 프로그램을 for문으로 바꿔 풀어보세요.
  • MoreEffectiveC++/Efficiency . . . . 46 matches
         '''80-20 규칙''' 이란? 프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.:실행 시간의 80%가 대략 20%의 코드를 소모한다;80%의 메모리는 어떤 20%의 코드에서 쓴다.;80%의 disk 접근은 20%의 코드에서 이루어진다.:80%의 소프트웨어 유지의 노력은(maintenance effort)는 20%의 코드에 쏟아 부어진다.[[BR]]
         대부분 프로그래머들은 그들의 프로그램에 관한 특성에 관하여 멍청한 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대한 사용이라면 또 이건 별로 중요한 포인터(관점)이 되지 않는 것이다.
         저러한 상황에서, 만약 내가 느린 플그램이나 너무 많은 프로그램을 만나면 어떻게 해야하는가? 80-20 규칙은 프로그램의 랜덤 구역의 증가는 돕는데 썩좋지는 않다는 걸 의미한다. 사실, 프로그램은 성능 향상은 비직관적이다. 하지만 당신의 프로그램에서 단순한 랜덤 부분의 증가보다 성능의 병목 지점을 찾는 생각에 노력을 기울이는 것이 더 좋와 보이지는 않은 것이다. 자 그럼 일해 보실까요?
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍한 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠한 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원한다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원한다. 당신이 만약 그러한 능률 관점으로 중요한 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또한 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         프로파일러(profiler:분석자)는 각각의 구문이 몇번이나 실행되는가 아니면 각각의 함수들이 몇번이나 불리는거 정도를 알려주는 유틸리티이다. 성능(performance)관점에서 당신은 함수가 몇번 분리는가에 관해서는 그리 큰 관심을 두지 않을 것이다. 프로그램의 사용자 수를 세거나, 너무 많은 구문이 수행되어 불평을 받는 라이브러리를 사용하는 클라이언트의 수를 세거나, 혹은 너무 많은 함수들이 불리는 것을 세는 것은 다소 드문 일이기도 하다. 하지만 만약 당신의 소프트웨어가 충분이 빠르다면 아무도 실행되는 구문의 수에 관해 관여치 않는다. 그리고 만약 너무 느리면 반대겠지. (이후 문장이 너무 이상해서 생략, 바보 작성자)
         물론,프로파일러(profiler:분석자)의 장점은 프로세스중 데이터를 잡을수 있다는 점이다. 만약 당신이 당신의 프로그램을 표현되지 않는 입력 값에 대하여 프로파일(감시 정도 의미로)한다고 하면, 프로파일러가 보여준 당신의 소프트웨어의 모습에서 보통의 속도와, 잘 견디는 모습을 보여준다면 - 그부분이 소프트웨어의 80%일꺼다. - 불만있는 구역에는 접근하지 않을 다는 의미가 된다. 프로파일은 오직 당신에게 프로그램의 특별난 부분에 관해서만 이야기 할수 있는걸 기억해라 그래서 만약 당신이 표현되지 않는 입력 데이터 값을 프로파일 한다면 당신은 겉으로 들어나지 않는 값에 대한 프로파일로 돌아가야 할것이다. 그것은 당신이 특별한 쓰임을 위하여 당신의 소프트웨어를 최적화 하는것과 비슷하다. 그리고 이것은 전체를 보는 일반적인 쓰임 아마 부정적인 영양을 줄것이다.
         능률(efficiency)의 관점에서 최고의 계산은 결코 아무것도 수행하지 않는것이다. 말이 좀 이상한가? 생각해 봐라 당신이 어떤 일도 필요없을때 이건 맞는거다. 왜 당신은 당신의 프로그램안에서 가장 처음에 그것을 수행하려 하는가? 그리고 만약 당신이 어떤 일을 수행하기를 원할때 당신은 그 코드의 실행(excuting)을 피할수는 없을까?
         첫번째 operator[]는 문자열을 읽는 부분이다,하지만 두번째 operator[]는 쓰기를 수행하는 기능을 호출하는 부분이다. 여기에서 '''읽기와 쓰기를 구분'''할수 있어야 한다.(distinguish the read all from the write) 왜냐하면 읽기는 refernce-counting 구현 문자열로서 자원(실행시간 역시) 지불 비용이 낮고, 아마 저렇게 스트링의 쓰기는 새로운 복사본을 만들기 위해서 쓰기에 앞서 문자열 값을 조각내어야 하는 작업이 필요할 것이다.
         lazy evaluation에서 다룰 세번째의 주제로, 당신이 많은 필드로 이루어진 큰 객체들을 사용하는 프로그램을 가지고 있다고 상상해 봐라. 그런 객체들은 반드시 프로그램이 실행때 유지되며, 나중에는 데이터 베이스 안에 저장된어진다. 각각의 객체는 각 객체를 알아볼수 있고, 유일성을 보장하는 데이터 베이스로 부터 객체를 불러올때 종류를 알아 볼수 있는, 식별자(identifier)를 가지고 있다.(OODB 인가.) :
         프로그램이 m3이후에 다음과 같은 짓(이건 예제가 열받게해서 이렇게 쓴다.)을 저지른다.
         각 값 간의 의존성과,;데이터 구조의 유지를 위하여, 값들, 의존성이나 두가지의 결합 방법을 저장해야 한다.; 그리고 많은 수치 계산이 필요한 분야에서 복사, 더하기 할당, 같은 operator의 overload 것이 필요하다. 반면에 lazy evaluation의 적용은 프로그램 실행중에서 정말 많은 시간들과 많은 자원들을 아낄수 있다. 그래서 lazy evaluation의 존재를 정당화 시켜 줄것이다.
         이런 네가지의 예제는 lazy evaluation이 다양한 영역에서 활용될수 있음을 시사한다.:필요없는 객체의 복제 피하기, operator[]에 읽기와 쓰기를 구분하기, 데이터 베이스 상에서의 필요없는 자료 읽기를 피하기, 필요없는 수치 계산을 피하기. 그럼에도 불구하고 그것은 정말 훌륭한 생각만은 아니다. 단지 해치워야 할일을 미루어서 처리하는 것이기 때문에 만약에 당신의 부모가 계속 감시를 한다면 당신은 계속 그런 일들을 해주어야 한다. 마찬가지로 프로그램 상에서도 모든 연산들이 필요하다면 lazy evaluation은 어떠한 자원의 절약도 되지 않는다. 거기도 만약 당신의 모든 계산이 반드시 필요한 중요한 것들이라면, lazy evaluation은 아마 처음에 허상 데이터들과 의존 관계같은 것의 처리를 위하여, 실제보다 더 많은 연산을 하게되어 수행 속도를 느리게 할것이다. lazy evaluation은 오직 당신의 소프트웨어 상에서 피할수 있는 계산이 존재할 때만 유용히 쓰일수 있다.
         Item 17에서 가능한한 할일을 뒤로 미루어두는, lazy(게으름)대한 원리를 극찬해 두었다. 그리고 lazy가 당신의 프로그램의 효율성을 증대시킬수 있는 방법에 대하여 설명하였다. 이번 item에서는 반대의 입장을 설명할 생각이다. 여기에는 laziness(게으름)이란 여지는 없다. 여기에서 당신의 소프트웨어가 그것이 요구하는것 보다 더 많은 일을 해서, 성능향성에 도움을 줄수 있는것을 보일것이다. 이번 item의 철학이라고 한다면 '''''over-eager evaluation''''' 이라고 표현할수 있다.:어떤 데이터를 요구하기도 전에 미리 계산해 놓는것.
         이런 일을 행하는데에 가장 간단한 방법은 이미 계산된 값을 저장시켜 놓고, 다시 필요로할때 쓰는거다. 예를들어 당신이 직원들에 관한 정보를 제공하는 프로그램을 만든다고 가정하자, 그리고 당신이 자주 쓰인다고 예상할수 있는 정보중 하나는 직원들의 개인방(사무실 or 침실 or 숙소) 번호 이다. 거기에 직원들의 정보는 데이터 베이스에 저장되어 있다고 가정한다. 하지만 대다수(당신이 작성하는거 말고) 프로그램을 위하여 직원들의 개인방 번호는 잘 쓰이지 않는다. 그래서 데이터 베이스에서 그것을 찾는 방법에 관한 최적화가 되어 있지 않다. 당신은 직원들의 개인방 번호를 반복적으로 요구하는 것에 대한 데이터 베이스가 받는 과도한 스트레스에 어플리케이션단에서 특수한 구조로 만드는 걸 피하려면, findCubicleNumber 함수로서 개인방 번호를 캐시(임시저장) 시켜 놀수 있다. 이미 가지고 있는 개인방 번호에 대하여 연속적으로 불리는 요구는 데이터 베이스에 매번 쿼리(query)를 날리는것보다는 캐쉬를 조사하여 값을 만족 시킬수 있다.
         이번 아이템에서의 나의 충고-caching과 prefetching을 통해서 over-eager의 전략으로 예상되는 값들의 미리 계산 시키는것-은 결코 item 17의 lazy evaluation(늦은 계산)과 반대의 개념이 아니다. lazy evaluation의 기술은 당신이 항상 필요하기 않은 어떠한 결과에대한 연산을 반드시 수행해야만 할때 프로그램의 효율성을 높이기 위한 기술이다. over-eager evaluation은 당신이 거의 항상 하는 계산의 결과 값이 필요할때 프로그램의 효율을 높여 줄것이다. 양쪽 모두다 eager evaluation(즉시 계산)의 run-of-the-mill(실행의 비용) 적용에 비해서 사용이 더 어렵다. 그렇지만 둘다 프로그램 많은 노력으로 적용하면 뚜렷한 성능 샹항을 보일수 있다.
         C++ 내에서의 진짜 temporary객체는 보이지 않는다.-이게 무슨 소리인고 하니, 소스내에서는 보이지 않는다는 소리다. temporary객체들은 non-heap 객체로 만들어 지지만 이름이 붙지를 않는다. (DeleteMe 시간나면 PL책의 내용 보충) 단지 이름 지어지지 않은(unnamed)객체는 보통 두가지 경우중에 하나로 볼수 있는데:묵시적(implicit) 형변환으로 함수호출에서 적용되고, 성공시에 반환되는 객체들. 왜, 그리고 어떻게 이러한 임시 객체(temporary objects)가 생성되고, 파괴되어 지는지 이해하는 것은 이러한 생성과 파괴 과정에서 발생하는 비용이 당신의 프로그램의 성능에 얼마나 성능을 끼칠수 있는가 알아야 하기때문에 중요한 것이다.
         임시객체의 사용을 피하기 위한 operator 함수에 대한 overloading은 특별히 제한되는 것은 없다. 예를들어서 많은 프로그램에서 당신은 string객체가 char*를 수용하기를 바랄것이다. 혹은 그 반대의 경우에도 마찬가지이다. 비슷하게 만약 당신이 complex(Item 35참고)와 같은 수치 계산을 위한 객체를 사용할때 당신은 int와 double같은 타입들이 수치 연산 객체의 어느 곳에서나 유용히 쓰기를 원할 것이다. 결과적으로 string, char*, complex etc 이러한 타입들을 사용하는데 임시 인자의 제거 할려면 모두 overload된 함수가 지원되어야 한다는 것이다.
         아직, 80-20 규칙(Item 16참고)은 마음속에 중요하게 남아있겠지. 만약 당신이 그러ㅎ것들을 프로그램에 이용했을때 눈에띠는 성능 향상을 보이지 않는 좋은 생각을 가지고 있다면, overload된 한수들의 제거에 대한 이야기는 결코 논의의 촛점이 되지 않을 꺼다.
         라이브러리 디자인은 프로그램 제작 과정에서의 중간물이다.(an exercise in compromise) 이상적인 라이브러리는 작아야 하고, 힘있고(powerful), 유연하며, 확장성있고, 명시적이고, 범용적이고, 지원이 좋와야 하고, 사용 자약에 자유로워야 하고, 버그가 없어야 한다. 물론 존재 하지 않는다. 용량이나, 속도에 최적화된 라이브러리들은 보통 이동하기에 어렵다.(portable:다른 하드웨어 간에 이식하기 어렵다 정도의 의미) 풍부한 기능들을 가진 라이브러리는 직관적이지 못하다. 버그가 없는 라이브러리는 일정 부분에 제약이 있다. 실세계에서 우리는 모든것을 만족 시키지는 못한다.;항상 특정한 어떤것을 추구하게 된다.
         속도를 첫번째 초점으로 삼아 보자. iostream과 stdio의 속도를 느낄수 있는 한가지 방법은 각기 두라이브러리를 사용한 어플리케이션의 벤치마크를 해보는 것이다. 자 여기에서 벤치마크에 거짓이 없는 것이 중요하다. 프로그램과 라이브러리 사용에 있어서 만약 당신이 '''일반적인''' 방법으로 사용으로 입력하는 자료(a set of inputs)들을 어렵게 만들지 말아야 하고, 더불이 벤치 마크는 당신과 클라이언트들이 모두 얼마나 '''일반적''' 인가에 대한 신뢰할 방법을 가지고 있지 않다면 이것들은 무용 지물이 된다. 그럼에도 불구하고 벤치 마크는 각기 다른 문제의 접근 방식으로 상반되는 결과를 이끌수 있다. 그래서 벤치마크를 완전히 신뢰하는 것은 멍청한 생각이지만, 이런것들의 완전히 무시하는 것도 멍청한 생각이다.
  • 새싹교실/2012/AClass . . . . 44 matches
          * 코딩과제는 완전한 프로그램으로 써 주시고(에러나지 않도록), 서술하는 문제는 간단하게(1~3줄) 써 주세요.^^
          1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
          1. if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
          1. switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
          1. while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
          1. 위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
          1. 위 프로그램을 for문으로 바꿔 풀어보세요.
          1. 함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
          1. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          1. 재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
          1. 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.
          --> 프로그램의 종료를 위해
          1.0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜 주세요.
          2.소문자를 대문자로 바꾸는 프로그램을 작성해 주세요.
          3.다음 모양을 출력하는 프로그램을 작성해 주세요.
          4.다음 모양을 출력하는 프로그램을 작성해 주세요.
          5.위 두 프로그램을 일반화 시켜 입력받은 숫자만큼 출력해주는 프로그램을 작성해주세요.(위 프로그램은 21을 입력)
          6.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 피라미드 형태로 작성해 주세요.
          7.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 다이아몬드 형태로 작성해 주세요.
          8.아래 프로그램을 참고하여 60점 이하는 F, 61~70점 D, 71~80 C, 81~90 B, 90~ A인 프로그램을 작성해주세요.
  • WhatToProgram . . . . 43 matches
         무엇을 프로그램할지 고를 여유가 있는 사람의 입장에서 묻는 "우리는 무엇을 프로그램할까"
         학교에서 숙제로 내주는 것들이란 정말 숙제를 위한 숙제인 경우가 있다. 아니, 꼭 그렇진 않더라도 나는 뭔가 내 페이스에서 스트레스 없이 내가 원하는 것을 만들어보고 싶다. 어찌되었건 프로그램을 잘하려면 프로그램을 자주 해봐야 한다고 말하지 않는가. 그럼 도대체 무엇을 프로그램할 것인가?
         이 단계가 넘어서면(한 달 정도면 넘어서지 싶다) 자신에게 가까운 것을 프로그램하라고 하겠다. 주희의 근사록이라는 책이 있다. 말 그대로 "가까운 것들에 대한 생각을 적은 기록"이라는 말이다. 공부는 무릇 가까운 곳에서 시작해야 한다고 말한다. 내 삶 속에서 제대로 구현되지도 않으면서 우주를 걱정하는 것은 "위기지학"(자기를 위한 공부)을 하라는 가르침에 어긋난다.
         프로그래밍의 궁극은 "사용자"와 프로그램의 사용을 통해 그가 받는 "현실적 가치"에 있다. 프로그래밍을 하면서 사용자를 생각하지 않는 것은 도무지 아무 의미가 없다. 프로그래밍이라는 행위 자체가 성립하질 않는다. 골방에 틀어박혀 자기만족적인 지적 유희를 즐기는 해커가 아니라면 말이다. 우리는 사용자의 마음을 꿰뚫어야 한다. 여기에 있어 직접 사용자가 되는 것만큼 좋은 방법은 없다. 업계에서 혹자는 요구사항 분석시 사용자와 한 달 간 같이 생활해 보라는 말도 한다.
         자기 삶에서 의미가 있는 프로그램을 만들게 되면 스스로가 사용자가 된다. 목적이 분명해 진다. 자기가 편한 프로그램을 만드는 것이다. 이 프로그램은 꼭, "내가 쓸 마음이 나는 프로그램"이어야 한다(그 프로그램을 만들고 싶은 열정이 생기고, 그걸 생각하면 가슴이 두근거린다면 더더욱 좋다 -- 이런 호기가 있을 때 그것을 충분히 누리도록 하라). 아무리 간단한 프로그램일지라도 나에게 가치있는 프로그램은 존재한다. 특정 언어에 대한 경험이 한 두 달일지라도 분명 그런 프로그램을 만들 수 있다. 대부분은 다른 프로그램들을 엮어주는 것일지도 모른다. 만약 난관에 부딪혔다면 책을 읽고, 사람에 묻고 자료를 검색해서 기술과 도구를 배우면 된다.
         이 프로그램을 개발해서 일주일이고, 한달이고 매일 매일 사용해 봐야 한다. 일주일에 한 번 사용하는 프로그램만들기보다 매일 사용할만한 프로그램을 만들라. 자신이 하는 작업을 분석해 보라. 무엇을 자동화하면 편리하겠는가. 그것을 프로그램 하라. 그리고 오랜 기간 사용해 보라. 그러면서 불편한 점을 개선하고, 또 개선하라. 때로는 완전히 새로 작성해야할 필요도 있을 것이다(see also [DoItAgainToLearn]). 아마도 이 단계에서 스스로를 위한 프로그램을 작성하다 보면 아이콘을 이쁘게 하는데 시간을 허비하거나, 별 가치없는 퍼포먼스 향상에 시간을 낭비하지는 않을 것이다. 대신 무엇을 프로그램하고 무엇을 말아야 할지, 무엇을 기계의 힘으로 해결하고 무엇을 여전히 인간의 작업으로 남겨둘지, 즉, 무엇을 자동화할지 선택하게 될 것이다. 또한, 같은 문제를 해결하는 여러가지 방법(기술, 도구, ...) 중에서 비용과 이익을 저울질해서 하나를 고르는 기술을 익히게 될 것이다.
         사실 이 단계에서는 꼭 어떤 사용을 전제로 하지 않더라도 열정을 갖게 해주는 프로그램이라면 괜찮다. 어떤 것에 대해 호기심이 생기는가? 컴퓨터로 실험을 해보고 싶은가? 그 생각이 밥을 먹거나, 잠을 자거나 떠나지 않는다면 프로그램 하라. 그냥 이걸 프로그램하면 공부가 될 것 같다든가, 혹은 남들이 다 하길래 한다든지 하는 것과는 질적으로 다른 경험을 할 것이다. 열정을 가진 것은 대부분 가슴 속에 그 모양이 이미 형성이 되어 있다. 조각가는 조각품의 형상을 이미 가슴 속에 품고 있다. NoSmok:최한기 는 이것을 강조한다. 일이 제대로 이루어지려면 그 일을 흉중에 품고 있어야 한다고. 머리 속에서, 정말 손끝에 잡힐 것만 같고, 그 프로그램이 살아있는 것 같이 느껴진다면 프로그램 하라. 자신의 아이디어를 컴퓨터가 이해하는 언어로 표현해 내는, 그리고 그 프로그램이 자신의 아이디어를 더 발전시키게 하는 능력을 갖게 될 것이다.
         이 과정이 어느 정도 되면, 타인을 위한 프로그램을 작성할 수 있다. 나에게는 별 의미가 없지만 남에게 "아주 귀중한 가치를 주는" 프로그램을 만들어라. 서로 만들어줘도 좋다. 자신이 컴퓨터 공학과라면 국문학과 학생에게 프로그램을 만들어주라. 그와 가까이 지내고 그가 진정 원하는 것이 무엇이며, 진정 필요로 하는 것이 무엇인지(원하는 것과 필요로 하는 것은 다르다) 분석하고, 프로그램 해줘라. 그가 그 프로그램을 한 달 이상 사용하는가? 그래야 한다. 그 정도로 가치있는 프로그램이어야 한다. 가치있는 프로그램이 꼭 복잡하거나 거대할 필요는 없다. 그가 프로그램의 수정을 요구한다면 가능하면 모두 들어주어라. 그게 힘들다면 그를 납득시켜라. 아마도 이 단계에서 타인을 위한 프로그램을 작성하면서 "작성자"와 "사용자"간의 프로그램을 통한 커뮤니케이션의 중요성에 눈을 뜨게 될 것이다. 인터페이스에 대해 고민할 것이다. 얼마나 이쁘냐보다, 얼마나 실수할 행위유발성을 제공하지 않느냐, 그리고 어떤 메타포를 사용할 것인가(이에 대해서는 비지칼크란 프로그램을 연구하라) 하는 문제를 생각할 것이다.
         이 단계를 거치면 이제는 타인들을 위한 프로그램을 작성한다. 일단 사용자가 다수이다. 또, 어떤 사용자 집단을 상정할 수는 있지만 개개인을 전제할 수는 없다. 아마도 이 단계에서는 평균적 사용자에 대해 고민하게 될 것이고, 때로는 여러사람의 동시 사용자로 야기되는 동시성 제어나 퍼포먼스 문제로 고민할 것이다. 그리고 프로그램의 크기가 커지면서 그리고 요구사항 변경이 여러 소스를 통해 빈번히 들어오게 되면서 어떻게 설계해야 하느냐는 문제로 고민할 것이다.
         프로그래밍 기술보다도 중요한 것은 어쩌면 현실세계의 문제를 해결하는 것 그 자체일지도 모른다(도구와 기술은 본질적 문제를 해결해 나가는 과정으로서 필요에 따라 공부하면 되겠다). 우리는 정말 사용자를 위한 프로그램을 만들어야 한다. 그리고 이 공부는 가까운 곳에서부터 출발한다.
  • CToAssembly . . . . 40 matches
         프로그램을 실행하기위해 필요한 함수들을 모아둔 기본 라이브러리나 사용자가 만든 라이브러리는 사용자 소프트웨어에 포함된다.
         고급언어 변환기, 어셈블러, 편집기, 다른 프로그램을 만드는 작업을 돕는 프로그램들이 시스템 소프트웨어에 속한다. 우리는 이미 프로그래밍에는 기계어, 어셈블리어, 고급언어 세 단계가 있음을 안다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
         C/C++같은 고급언어의 컴파일러는 고급언어를 어셈블리코드로 변환할 수 있다. GNU C/C++ 컴파일러의 -S 옵션은 프로그램 소스에 해당하는 어셈블리코드를 생성한다. 반복, 함수 호출, 변수 선언과 같은 기본적인 구조가 어셈블리어로 어떻게 대응하는지 알면 C 내부를 이해하기 쉽다. 이 글을 이해하기위해서는 컴퓨터구조와 Intel x86 어셈블리어에 익숙해야 한다.
         먼저 hello world를 출력하는 간단한 C 프로그램을 작성하고, -S 옵션으로 컴파일한다. 입력파일에 대한 어셈블리코드를 얻을 수 있다. GCC는 기본적으로 확장자 `.c'를 `.s'로 변경하여 어셈블러파일명을 짓는다. 어셈블러파일 끝의 몇줄을 해석해보자.
         목록 1은 first.s 파일에 저장한 우리의 첫번째 어셈블리어 프로그램이다.
         프로그램의 첫번째 줄은 주석이다. 어셈블러 지시어 .globl은 심볼 main을 링커가 볼 수 있도록 만든다. 그래야 main을 호출하는 C 시작라이브러리를 프로그램과 같이 링크하므로 중요하다. 이 줄이 없다면 링커는 'undefined reference to symbol main' (심볼 main에 대한 참조가 정의되지않음)을 출력한다 (한번 해봐라). 프로그램은 단순히 레지스터 eax에 값 20을 저장하고 호출자에게 반환한다.
         다음 목록 2 프로그램은 eax에 저장된 값의 계승(factorial)을 계산한다. 결과를 ebx에 저장한다.
         복잡한 프로그램을 만들때 우리는 해결할 문제를 체계적으로 나눈다. 그리고 필요할때마다 호출할 함수를 작성한다. 목록 3은 어셈블리어 프로그램의 함수 호출과 반환을 보여준다.
         일반적으로 함수는 함수가 사용할 변수들을 정의한다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용한다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         프로그램의 메모리 일부를 스택으로 사용하기위해 비워두었다. Intel 80386 이상의 마이크로프로세서에는 스택 최상위 주소를 저장하는, 스택포인터(stack pointer)라는 esp 레지스터가 있다. 아래 그림 1은 스택에 저장된 세 정수값 49, 30, 72를 보여준다 (정수는 각각 4 바이트를 차지한다). esp 레지스터는 스택 최상위 주소를 저장한다.
         C 프로그램은 수백 수천개의 변수를 다룰 수 있다. C 프로그램에 해당하는 어셈블리코드는 어떻게 변수를 저장하며 변수를 다루기위해 레지스터를 충돌없이 사용하는지 알려준다.
         레지스터 개수가 적기때문에 프로그램의 모든 변수를 레지스터에 담을 수는 없다. 지역변수는 스택에 위치한다. 목록 4가 그 방법을 보여준다.
         함수로 파라미터를 전달하기위해 스택을 사용할 수 있다. 우리는 함수가 eax 레지스터에 저장한 값이 함수의 반환값이라는 (우리가 사용하는 C 컴파일러의) 규칙을 따른다. 함수를 호출하는 프로그램은 스택에 값을 넣어서 함수에게 파라미터를 전달한다. 목록 5는 sqr이라는 간단한 함수로 이를 설명한다.
         목록 6은 C 프로그램과 어셈블리어 함수를 보여준다. 파일 main.c에 C 함수가 있고 sqr.s에 어셈블리어 함수가 있다. cc main.c sqr.s를 입력하여 파일들을 컴파일하고 같이 링크한다.
         이 프로그램은 C 문장 add(10,20)이 다음과 같은 어셈블러코드로 변환됨을 확인하면 명확해진다:
         프로그램이 어셈블리로 수학 알고리즘만을 구현하지 않는다면, 입력을 받고, 출력하고, 종료하는 등 어떤 작업이 필요하다. 이를 위해 운영체제 서비스를 호출해야 한다. 사실 운영체제 서비스를 제외하고는 여러 운영체제간의 어셈블리어 프로그래밍이 매우 비슷하다.
         Libc wrapper는 시스템호출 규칙이 변경되는 경우 프로그램을 보호하고, 커널에 그런 시스템호출이 없는 경우 POSIX 호환 인터페이스를 제공하기위해 만들어졌다. 그러나, 유닉스 커널은 보통 거의 POSIX에 호환한다: 즉 대부분의 libc "시스템콜"의 문법은 실제 커널 시스템호출의 문법과 (반대로도) 정확히 일치한다. 그러나 libc를 버리지않는 이유는 시스템콜 wrapper외에 printf(), malloc() 등 함수도 있기때문이다.
         명령어 cc -g fork.c -static으로 프로그램을 컴파일한다. gdb 도구에서 명령어 disassemble fork를 입력한다. fork에 해당하는 어셈블리코드를 볼 수 있다. -static은 GCC의 정적 링커 옵션이다 (manpage 참고). 다른 시스템호출도 테스트해보고 실제 어떻게 함수가 동작하는지 살펴봐라.
         GNU C는 x86 아키텍쳐를 매우 잘 지원하며, C 프로그램에 어셈블리코드를 삽입할 수 있다. 레지스터 할당은 직접 지시하거나 GCC에 맡겨둘 수 있다. 물론, 어셈블리 명령어는 아키텍쳐마다 다르다.
  • MineFinder . . . . 39 matches
          * 목표 : 윈도우의 지뢰찾기 프로그램과 직접 대화, 지뢰를 스스로 찾아내는 프로그램을 만든다.
          * 윈98, 윈2000 지뢰찾기 프로그램 지원 (현재 2000 은 제대로 지원. 98 쪽 호환성 높이기중)
          * 추후 프로그램이 커질 경우 '눈' 부분과 '지능' 부분을 따로 빼낼 수 있도록 궁리.
          * '눈' 해당 부분 - 지뢰찾기 프로그램으로부터 비트맵을 얻어 데이터로 변환하는 루틴 관련부. 현재 bitmap 1:1 matching 부분이 가장 부하가 많이 걸리는 부분으로 확인됨에 따라, 가장 개선해야 할 부분.
          * 추후 DP 로 확장된다면 StrategyPattern 과 StatePattern 등이 이용될 것 같지만. 이는 추후 ["Refactoring"] 해 나가면서 생각해볼 사항. 프로그램이 좀 더 커지고 ["Refactoring"] 이 이루어진다면 DLL 부분으로 빠져나올 수 있을듯. ('빠져나와야 할 상황이 생길듯' 이 더 정확하지만. -_-a)
          * 지뢰찾기 프로그램의 윈도우 핸들을 얻고 해당 메세지를 보내어서 지뢰찾기 프로그램을 구동하는 루틴 관련 SpikeSolution. (아.. UnitTest 코드 넣기가 애매해서 안넣었다. 궁리해봐야 할 부분같다.)
          * 지뢰찾기 프로그램의 윈도우 핸들을 얻은뒤 DC를 얻은후 화면 캡쳐. 그리고 캡쳐한 비트맵을 근거로 하여 데이터로 변환하는 루틴 관련 SpikeSolution
          * 디자인 부분에서의 TFP의 중요성을 놓친것이 화근이 되었다는. -_-; 추후 알고리즘 부분으로 들어가면서 TFP를 게을리 한 점과 프로그램 돌아간다는 점에서의 즐거움에 시간낭비가 좀 심했다는..~
         습관성으로 여는 프로그램 Best: 1. Explorer 2. 프리셀 3. 지뢰찾기. -_-;
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용한다.
          * 컴퓨터는 현재의 지뢰찾기 프로그램 상황을 알아서 판단하고, 해당 행동을 결정한다.
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
         글쌔. 무엇부터 해 나가야 할 것인가. 일단은 지뢰찾기 프로그램을 제어할 수 있는 프로그램이여야 하고, 지뢰찾기 알고리즘도 필요할테고.. 우어. 정신없다. 일단은 생각나는 것들에 대해 하나하나 잡아봐야겠다.
         지뢰찾기 프로그램의 윈도우클래스 이름이 '지뢰 찾기' 였다. 윈도우 OS 의 특징상 해당 윈도우 핸들간 메세지의 발생에 따라 해당 윈도우프로시저에서 처리가 된다. 해당 윈도우 핸들은 윈도우 클래스 이름을 아는 이상 FindWindow 함수를 이용해서 찾으면 될 것이다.
         손에 대한 모델링이여서 그런지 손에만 집착하게 되었군. -_-; 이 일을 위해서는 손, 눈, 머리가 있어야 하겠는데. 마우스 노가다를 위한 손, 해당 지뢰찾기 상태를 봐야 할 눈, 그리고 해당 상황에 따른 판단, 지시를 해야 할 머리의 모델링. (단, 여기에 각각에 대해 조건을 붙인다면 '지뢰찾기프로그램을 위한' 이라는 말이 붙겠지만.)
         눈에 해당하는 부분은 어떻게 할까.. 하나는 신이 되는 방법이 있고 하나는 사람이 되는 방법이 있다. -_-; 즉, 하나는 직접 지뢰찾기 프로그램의 메모리부분을 얻어낸 뒤, 그중에 배열에 해당되는 부분 (어떤 데이터구조일지는 모르겠지만, 배열일 것 같다. -_-;)을 얻어내서 보던지, 아니면 사람처럼 화면을 봐야 할 것이다. 애석하게도 나는 지뢰찾기의 창조자도 아니고 윈도우의 창조자는 더더욱 아니므로. -_-; 후자를 선택하게 된다.
         원리는 간단하다. 윈도우 핸들을 얻을 수 있다면, 해당 윈도우에 대한 DC를 얻을 수 있을 것이다. DC를 얻을 수 있다면, BitBlt 을 이용, 비트맵을 메모리DC 쪽으로 복사할 수 있을테니까. (간단한 캡쳐 프로그램시 이용할 수 있다.) 단, 화면을 복사하려는 프로그램이 다른 프로그램에 가려지면 안되겠다.
         머리는? 지뢰찾기 알고리즘에 해당되는 부분은. 으흐~ 나중에. -_-; 대강 이쯤 해서 각 부분부분에 대해 맞는지를 알아보기 위한 프로그램을 간단하게 짰다.
          * [http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=57&filenum=1 1차일부분코드] - 손과 눈에 해당하는 부분 코드를 위한 간단한 예제코드들 모음. 그리고 지뢰찾기 프로그램을 제어하는 부분들에 대해 Delegation 시도. (CMinerControler 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화한것임)
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용한다.
  • 권영기/채팅프로그램 . . . . 38 matches
         Describe 권영기/채팅프로그램 here
         ["2012/3/30 - 일대일 채팅 프로그램 만들기"]
         ["2012/4/3 - 멀티채팅 프로그램 만들기"]
         === 2012/3/30 - 일대일 채팅 프로그램 만들기 ===
         exit를 치면 채팅을 종료합니다.
         client에서 exit를 쳤을 때, "채팅이 종료되었습니다." 라는 메세지가 바로 뜨지 않습니다. server에서 아무거나 입력하면 그제서야 client에서 "채팅이 종료되었습니다."가 출력됩니다.
         그리고나서 server는 채팅 종료직전에 받았던 메세지를 무한히 출력합니다.
         server에서 exit를 쳤을 때, "채팅이 종료되었습니다." 라는 메세지가 바로 뜨지 않습니다. client에서 아무거나 입력하면 그제서야 server에서 "채팅이 종료되었습니다."가 출력됩니다.
         그리고나서 client는 채팅 종료직전에 받았던 메세지를 무한히 출력합니다.
          printf("채팅이 종료되었습니다.\n");
          printf("채팅이 종료되었습니다.\n");
         === 2012/4/3 - 멀티채팅 프로그램 만들기 ===
         멀티 채팅이 됩니다.
         이전에 작성했던 일대일 채팅 프로그램의 소스는 구조적으로 문제가 많았기 때문에 많은 수정이 필요했습니다.
         이제 멀티채팅을 완성했는데, 희성이는 계정이 적용된 채팅을 만들었군요.. 멘붕
         프로그램을 작성하면서 들었던 의문점은 Pthread_join에 관한 것입니다. 서버쪽에서 쓰레드를 쓰면서 Join을 어디다가 놔야할지를 모르겠어서 한번 빼놓고 해보니까 프로그램이 잘 작동이 되었습니다.(우연의 산물 ㅠㅠ)
          printf("채팅이 종료되었습니다.\n");
          printf("채팅이 종료되었습니다.\n");
          printf("채팅이 종료되었습니다.\n");
  • Java Study2003/첫번째과제/노수민 . . . . 35 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
          사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 된다.
          * 자바가상머신은 자바로 작성된 프로그램이 어떤 환경에서든지 작동할 수 있도록 해 준다
          자바가상머신은 위의 같은 구조로 어떤 환경이든지 자바로 만든 프로그램이라면 실행시켜주는데 가상적인 하드웨어에 가깝다.
          === 자바 프로그램의 종류 ===
          * 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
         <APPLET>~</APPLET> 태그를 이용하여 HTML 페이지 내에 포함되어, 자바 호환 웹 브라우저에 의해서 실행되도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 홈 페이지 내에 삽입되어 자바 호환 웹 브라우저에 의해 실행되도록 규약에 맞추어 작성된 자바 프로그램을 말하는 것입니다. 다음에 나오는 그림은 자바 애플릿의 실행 과정을 자세히 보여주고 있습니다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위한 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
  • Java Study2003/첫번째과제/곽세환 . . . . 31 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
         <APPLET>~</APPLET> 태그를 이용하여 HTML 페이지 내에 포함되어, 자바 호환 웹 브라우저에 의해서 실행되도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 홈 페이지 내에 삽입되어 자바 호환 웹 브라우저에 의해 실행되도록 규약에 맞추어 작성된 자바 프로그램을 말하는 것입니다. 다음에 나오는 그림은 자바 애플릿의 실행 과정을 자세히 보여주고 있습니다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위한 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
          * "Hello, World!" 출력프로그램
  • 채팅원리 . . . . 30 matches
         = 프로그램 구조 =
         이 채팅프로그램은 다른 여느 채팅 프로그램처럼 서버와 클라이언트 부분으로 나누어져 있다.
         == 서버 프로그램 구조 ==
         UserListControl : 사용자의 접속을 관리한다. 채팅에 접속하려는 사람이 원하는 ID를 기존의 사용자들과 비교하여, 없으면 채팅 접속을 허락하고, 있으면 다른 ID를 사용할 것을 권한다.
         == 클라이언트 프로그램의 구조 ==
         클라이언트쪽에는 4개의 Thread가 있다. JFrame을 사용한 클래스가 2개 있는데, 하나는 Login때 ID사용 허가를 확인한는 프레임이고, 다른 하나는 채팅의 기본 프레임이다. 4개의 Thread는 다음과 같다.
         Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
         ChatMain : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또한 채팅에 접속한 사람들의 ID를 보여준다.
         = 채팅의 동작 원리 =
         채팅의 동작원리는 실제로 채팅이 이루어지는 과정을 예로 추적하면서 설명하기로 한다.
         하는 ID와 같은 ID가 있는지 없는지 비교한 후 결과를 클라이언트에 돌려준다. 이미 사용중인 ID이면 다른 ID를 사용할 것을 권하고, 사용가능하다면 채팅을 시작한다.
         클라이언트가 대기실에 입장하면 내부적으로 클라이언트는 서버쪽에 새 사용자가 접속했다는 메시지를 보낸다. 그러면서, Login 프레임대신 ChatMain 프레임을 보이게 한다. 이제부터 대기실에서 채팅이 가능하게 된다. 서버쪽에는 새 사용자가 대기실에 들어왔다는 것을 보여준다.
         새 사용자가 접속을 시도하면 처음과 마찬가지로 사용자 ID 체크를 하게된다. ID 사용 확인을 한 후에 대기실에 접속을한다. 대기실에 접속하면, 기존에 대기실에 있던 사용자들의 사용자 ID를 보여주는 리스트에 새로 들어오는 사용자의 리스트가 추가되면서, 채팅화면에 새로운 사용자가 들어왔다는 메시지가 나오게 된다.
         == 실질적인 채팅 ==
         2명 이상의 사용자가 접속한 상태이므로 실제로 채팅이 가능하게 된다. 채팅의 내용은 클라이언트의 TextField의 내용을
         DagagramPacket에 미리 기억된 서버쪽의 주소와 포트번호를 추가하여 네트워크로 보낸다. 이 메시지를 서버가 받아서 등록된 모든 클라이언트쪽으로 보내 모든 클라이언트가 메시지를 받아 채팅화면에 출력할 수 있게한다.
         == 채팅 종료 ==
         채팅을 종료할 때는 채팅 윈도우의 종료 버튼을 누르면 윈도우 종료 이벤트가 발생한다. 클라이언트는 채팅 종료를 확인하는 옵션 패널을 보여준 후, 서버쪽에 채팅을 종료한다는 내용을 보낸다. 이때 보내는 내용은, 자신이 사용하고 있는 ID를 제거, 자신의 주소를 제거, 사용자 1명의 감소등이다.
  • SmallTalk/강좌FromHitel/소개 . . . . 28 matches
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         로그래밍을 하고, 따라서 객체지향 언어로 만들어진 프로그램이 전혀 객체지향
         답지 안은 프로그램이 되고 만 것입니다. 그래서 저는 순수하게 객체지향적인 관
         다. 이제는 '쓸만하다'고 생각되는 프로그램을 둘러보면 그 덩치가 어마어마하게
         비대해져있음을 볼 수 있습니다. 따라서 이러한 프로그램이 얼만큼 빠르게 실행
         되는가도 중요하겠지만, 얼만큼 빨리 이러한 프로그램을 만들 수 있느냐에 대한
         경우 후자를 선택할 것입니다. 일단 빠른 시간 안에 프로그램의 개발을 끝내 놓
         으면, 남는 시간은 프로그램의 수행 속도 향상을 위해 충분히 할예할 수 있기 때
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         <바탕글 1> 200만개의 배열에서 특정 원소를 찾는 Delphi 프로그램
         <바탕글 2> 200만개의 배열에서 특정 원소를 찾는 Smalltalk 프로그램
         다. Smalltalk로 쓸만한 프로그램만들기 위해서는 필요로 하는 기능이 수백개
         력하는 완전한 프로그램을 만들고 그것을 이해하려면 어느 정도의 시간이 필요합
         니다. 그러나 Smalltalk에서 Hello World 프로그램을 만들 수 있다면, 그 다음은
         정말 쉽게 쉽게 넘어갈 수 있습니다. C 언어의 경우, Hello World 프로그램을 만
         는 내용밖에 알 수 없습니다. Smalltalk에서 Hello World 프로그램을 만들고 그
         고 봐야합니다. Visual C++를 가지고 프로그램을 짜려면 적어도 MFC(Microsoft
         분히 구입할 수 있으며, 데이터베이스나 응용 프로그램 배포 등의 기능을 포함한
         습니다. 물론 실제 응용 프로그램을 배포할 때에는 개발 단계에서보다는 훨씬 작
         언어로 만들어진 프로그램들보다는 기억 공간의 소비가 크다는 단점을 가지고 있
  • SmallTalk_Introduce . . . . 28 matches
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         로그래밍을 하고, 따라서 객체지향 언어로 만들어진 프로그램이 전혀 객체지향
         답지 안은 프로그램이 되고 만 것입니다. 그래서 저는 순수하게 객체지향적인 관
         다. 이제는 '쓸만하다'고 생각되는 프로그램을 둘러보면 그 덩치가 어마어마하게
         비대해져있음을 볼 수 있습니다. 따라서 이러한 프로그램이 얼만큼 빠르게 실행
         되는가도 중요하겠지만, 얼만큼 빨리 이러한 프로그램을 만들 수 있느냐에 대한
         경우 후자를 선택할 것입니다. 일단 빠른 시간 안에 프로그램의 개발을 끝내 놓
         으면, 남는 시간은 프로그램의 수행 속도 향상을 위해 충분히 할예할 수 있기 때
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         <바탕글 1> 200만개의 배열에서 특정 원소를 찾는 Delphi 프로그램
         <바탕글 2> 200만개의 배열에서 특정 원소를 찾는 Smalltalk 프로그램
         다. Smalltalk로 쓸만한 프로그램만들기 위해서는 필요로 하는 기능이 수백개
         력하는 완전한 프로그램을 만들고 그것을 이해하려면 어느 정도의 시간이 필요합
         니다. 그러나 Smalltalk에서 Hello World 프로그램을 만들 수 있다면, 그 다음은
         정말 쉽게 쉽게 넘어갈 수 있습니다. C 언어의 경우, Hello World 프로그램을 만
         는 내용밖에 알 수 없습니다. Smalltalk에서 Hello World 프로그램을 만들고 그
         고 봐야합니다. Visual C++를 가지고 프로그램을 짜려면 적어도 MFC(Microsoft
         분히 구입할 수 있으며, 데이터베이스나 응용 프로그램 배포 등의 기능을 포함한
         습니다. 물론 실제 응용 프로그램을 배포할 때에는 개발 단계에서보다는 훨씬 작
         언어로 만들어진 프로그램들보다는 기억 공간의 소비가 크다는 단점을 가지고 있
  • 프로그래머의길 . . . . 25 matches
         이와 반대로 이상을 선택하는 프로그래머는 그 다음부타 자신과의 싸움이 시적된다. 끈기 바로 이것이다. 흔히 우리는 능력이 탁월한 사람보다는 성실한 사람을 더 높이 평가해중다. 프로그래머 역시 끈기가 없으면, 완성도 높은 프로그램을 만들지 못한다. 자신이 만든 알고리즘이 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무도 알아주지 않는다. 필자는 수많은 디버깅과 요구사항을 수용해 나가면서 자신의 이상을 실현해 나가는 프로그래머를 높이 평가하고 싶다. 그리고 그러한 사람이야말로 발전 가능성이 있으며, 신뢰할 수 있는 프로그램만들기 때문이다.
         초보자 들 중 주위 사람들 보다 좀더 많은 내용을 알고 있다는 자만심을 갖고 있는이들이 특히 그럴 확률이 높다. 이들은 일종의 유틸리티를 이용해 남들이 하지 못하는 기법을 익혀 이를 자랑하면서 우월감에 사로 잡히게 된다. 하지만 그러한 우월감은 그리 오래 가지 않는다. 자신보다 더 뛰어난 전문가를 만나면 '도대체 내가 무엇을 하고 있는가?'하는 반문이 생기기 때문이다. 여기서 이들은 '이해의 벽'을 피부로 느끼며, 컴퓨터를 이용한 새로운 도전을 받아들이게 된다. 물론 이 시점에서 이해의 벽을 뛰어넘지 못하는 이들도 있을 것이다.하지만 프로그신머의 길을 걸어가기를 원하는 이는 자신에게 닥친 상황을 돌파하기 위한 해결책을 찾는다. 이것이 바로프로그램이다. 필자는 이들에게 이렇게 말하고 싶다.
         프로그램은 컴퓨터가 이해할 수 있는 기계어를 사람이 좀더 쉽게 알아볼 수 있도록 만든것에 불과하다 이를 다시 표현하자면, 기계와 언어소통하기 위해 프로그램을 배운다는 것이다. 우리는 외국어를 공부하면서 문화적 이질감으로 인해 단어의 의미를 파악하기 힘들때가 종종 있다. 이는 그 나라의 풍습과 역사를 이해하지 못하기 문이다. 컴퓨터도 마찬가지 이다. 컴퓨터를 이해하지 못하면 프로그램 역시 서투른 번역이 돼버린다. 다시 한번 논하지만, 프로그램을 배우는 과정을 컴퓨터를 이해한다는의미로 받아들이면 좀더 쉽게 중급자의 길로 도약할 수 있을 것이다.
         첫번째 벽인 '''이해의 벽'''을 뛰어넘은 중급자는 그들만의 고유 영역을 갖게 된다. 이것이 바로 코딩이다. 코딩은 그 방법만 알면 쉽게 처리할 수 있다. 방법은 경륜이라 해도 과언이 아니다. 도공은 자신이 만든 도자기를 보며, 완벽하지 않은 것들을 일반인이 이해할 수 없을 정도로 부셔 버린다. 우리는 아무리 보아도 그것 들의 차이점을 알아낼 수가 없다. 하지만 경륜이 많은 도공은 도자기의 빛깔과 형태만 보아도 좋은 도자기인지 아니면 버려야할 도자기인지 알아낸다. 프로그램도 마찬가지이다. 컴퓨터를 이해하고 있는 프로그래머는 실행되고 있는 응용 프로그램만 보다도 어떻게 그것을 만들어 냈는지 알 수 있다 그리고 어떤 어려운 문제가 닥치더라도 해결점을 찾아낸다.
          그렇다면 이 정도의 실력을 갖추기 위해서는 어떻게 해야할까? 아마도 많은 독자들이 궁금해하는 문제일 것이다. 정확한 해답이 있을 수 없는 질문이다. '''영어에 왕도는 없다'''라는 표현을 빌어 '''프로그램에는 왕도가 없다'''라고 표현하는 것이 정답일 것이다. 하지만 왕도는 없지만 방법은 있다. 바로 '''자신이 할 수 있다고 판단하는 것보다 항상 더 많은 일을 만들어 내라는 것이다.''' 의미는 도전 정신이 필요하다는 뜻이다. 예를 들어 자신에게 주어진 일이 10만큼의 크기라면 자신의 목표를 20정도로 세우는것이다. 그러면 10만큼도 하기 벅차다고 느끼던 것이 어느날 목표한 10을 이루고 20으로 다가가고 있는 자신을 발견하게 될것이다. 만약 목표한 10도 이루지 못했다고 해서 실망하지는 말자. 돌이켜 보면 프로젝트가 실패했다고 해서 잃는 것보다는 얻은 것 더 많다는 것을 알게 될것이다. 필자는 중급자의 벽인'창조의 벽'을 해결하기 위해서는 무엇보다도 도전 정신이 필요하다고 주장하고 싶다.
         불교의 경전인 반야심경(般若心經)에 '색즉시공 공즉시색(色卽是空 空卽是色)이라는 용어가 있다. 이를 풀이하면 '얻는다는 것은 공 잃음이요, 잃어버리는 것이 곧 얻음이라'고 말할 수 있다. 필자가 이 깊은 말뜻을 이해하고 있다는 것은 아니다. 그렇다고 종교적 가치관이 뚜렷하다는 것은 더더욱 아니다. 하지만 프로그램을 자성해 오면서 반야심경이 전하는 이 말뜻을 조금이나마 이해하게 됐다는 표현이 적절할 것이다.
          만약 이와 같이 생각한 독자가 있다면 필자가 의도하는 내용을 정확하게 파악한 것이 아니다. 버리라고 표현한 것은 자기 자신이 가지고 있는 생각, 즉 프로그램에 대한 생각을 버리라는 것이다. 우리 인간은 변화에 대한 불안함을 내포하고 있다 특히 나이가 들수록 그 정도는 심화되고, 젊은 사람들의 사고를 이해하기보다는 왜곡됐다고 평하게 된다. 이는 그 사람의 가치관이 고정돼 버렸기 때문에 자신의 사고와 일치하지 않는 다른 모든 행동을 잘못됐다고 생각한다.
          프로그래머들이 가장 쉽게 빠져드는 유혹이 바로 이런 점이다. 자신이 지금까지 프로그램을 해도던 방식이야말로 정석이며, 진리라고 생각한다. 컴퓨터는 하루가 다르게 변하고 있지만 아직까지도 구시대 유물이 전부라고 생각한다. 필자는 단호하게 말하고 싶다.
         그렇다면 어떤 시점에 코드를 버려햐 하는가? 필자는 크게 두 가지 시점에 대해 논하고자 한다. 첫번째 시점은 프로젝트를 진행하고 있는 과정에서 발생한다. 정확하게 표현하면, 새로운 기능의 가능성을 타진해 보는 프로토타입 프로그램을 완성한 시점이 된다. 소프트웨어 공학에서 설계의 중요성을 강조하기 위해 객체지향이라는 패러다임을 만들 만큼 코딩이전의 설계 단계를 강조하고 있다 물론 잘 작성된 프로그램 설계는 프로토타입이라는 중간 프로그램 생성이 필요 없이 설계 명세서에 의한 코딩만 하면 완벽한 응용 프로그램을 개발할 수 있다.
         하지만 필자의 경험에 미뤄보면 이러한 경우는 업무 자동화와 같은 특정한 형식이 있는 응용 프로그램에 적용된다. 만약 프로젝트 설계자가 경험이 없는 응용 프로그램을 만들어야 한다는 가정을 두면 상황은 반전된다. 즉 설계자의 미경험에 의한 시행착오가 발생하는 것이다. 이러한 시행착오를 줄이는 방법이 새로운 기술에 대한 프로토타입의 개발이기는 하지만, 프로토타입으로 끝나야 한다. 하지만 우리의 실정은 아직까지도 프로토타입을 완성된 프로그램으로 생각하고 있는 경향이 지배적인것 같다.
         코드를 버러야 하는 두번째 시점은 완성된 프로그램의 버젼 업그레이드에서 발생한다. 첫번째 경우보다 더 많은 용단을 필요로 하는 시점이기도 하다. 응용 프로그램의 버전업은 이미 만들어진 응용 프로그램에 사용자의 추가 요구사항을 수렴해서 개발한다는 의미와 이전 버전에서 발생된 문제점을 해결한다는 의미를 동시에 가지고 있다. 간혹 사용자의 추가 요구사항이 프로그래머가 상상할 수 없는 경우일 때도 있다. 그 모든 요구사항을 다 수렴해 프로그램을 만들수 는 없기 때문에 프로그래머는 타협점을 찾아 다음버전의 기능을 제한시키게 된다.
  • MoreEffectiveC++/Exception . . . . 24 matches
         일반적으로 C의 개념으로 짜여진 프로그램들은 createWindow and destroyWindow와 같이 관리한다. 그렇지만 이것 역시 destroyWindow(w)에 도달전에 예외 발생시 자원이 세는 경우가 생긴다. 그렇다면 다음과 같이 바꾸어서 해본다.
         자 당신이 멀티미디어 주소록을 만든다고 상상하고, 프로그램을 짜보자 전화번호, 목소리, 사진, 이름 따위가 들어가야 할것이다. 다음 대강의 구현 코드들을 보면
         자 이건 괜찮아 보인다. 하지만 저 logDestruction상에서 예외가 발생한다면 어쩌게 할것인가? 해당 소스는 Session의 파괴자 안에서는 예외를 잡지 못한다. 그래서 해당 파괴자를 호출한 자에게 예외를 던진(전달한)다. 그렇지만 다른 에러들이 던져진 상황에서 파괴자가 스스로 자신을 부른거라면 함수의 종료가 자동으로 이루어지기를 원할 것이다. 그리고 당신의 프로그램은 이쯤에서 머추어 버릴 것이다. -해석이 이상하군, 암튼 다른 예외 처리시에 세션 파괴자 로그시 예외가 발생한다면 프로그램이 멈춘다는 소리다.
         아마 대다수의 사람들이 이런 상태로 빠지는걸 원하지 않을 것이다. Session 객체의 파괴는 기록되지 않을 태니까. 그건 상당히 커다란 문제이다 그러나 그것이 좀더 심한 문제를 유발하는건 프로그램이 더 진할수 없을 때 일것이다. 그래서 Session의 파괴자에서의 예외 전달을 막아야 한다. 방법은 하나 try-catch로 잡아 버리는 것이다.
         이렇게 아무런 처리를 하지 않는다면 logDestuction에서 발생한 예외가 전달되는걸 막고 프로그램 중지를 위하여 스택이 풀려나가는걸 막을수는 있을 것이다.
         자, 먼저 pointer(by pointer)에 관한 전달을 생각해 보자. 이론적으로 이 방법은 throw위치에서 catch구분으로 예외를 특별한 변화 없이 느린 프로그램 수행 상태에서 전달하기에 가장 좋은 방법이다. 그 이유는 포인터의 전달은 해당 예외 객체가 복사되는 일없이 포인터 값만 전달되는 방법만을 취해야 하기 때문이다. 말이 좀 이상한데 예외를 보면서 설명한다.
         이 코드는 깨끗하게 보이지만, 최선책은 아니다. 이런 일을 위해서 프로그래머는 예외 객체를 항상 품고있는 프로그램을 작성해야 할것이다. 간단히 전역(Global) staitc으로 선언하면 된다고 반문하겠지만, 전역의 위험성은 프로그래머가 그걸 쉽게 까먹을수 있다는데 있다. 다음 예제를 보면
         이것도 피해야 할 방법이다. 왜냐하면 ''I-just-caught-a-pointer-to-a-destoyed-object'' 문제 때문이다. 게다가 catch구문에서 직면한 또하나의 문제는 대체 이 포인터를 누가 어디서 지우느냐 이다. 다른 면으로 생각해볼 문제는 예외 객체가 heap상에 배치된다면 지워 지지 않은 예외 객체는 틀임없이 resource leak를 발생 시킬 것이다. 너무 뻔한 이야기 인가. 그리고 프로그램의 행보가 어떻게 될지 예측 할수도 없다. 안그런가?
         unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
         당신의 컴파일러가 예외 처리규정에 만족하지 않은 루틴을 가진 함수의 코드를 호출하는데 별 무리없다고, 그러한 호출이 아마 당신의 프로그램에서 프로그램의 중지를 유도하기 때문에 당신은 소프트웨어를 만들때 최대한 그런 만족되지 않은 호출을 최소화 하도록 결과를 유도해야 할것이다. 시작시 가장 좋은 방향은 템플릿상에서의 예외 스펙를 최대한 피하는 것이다. 자 다음의 어떠한 예외도 던지지 않은 템플릿을 생각해 보자.
         만약 위와 같이 하고 bad_exception(표준 라이브러리 상의 exception의 기본 예외 클래스)를 당신의 모든 예외 명세에 포함시키면 당신은 결코 당신ㄴ의 프로그램이 불시에 멈추어 버리는것에 대한 걱정을 할 요는 없을 것이다. 거기다가 규정에 맞지않는 예외들도 bad_exception으로 교체되고 예외는 기본 예외 대신에 다시 던저 퍼진다.(propagate)
         이제 당신은 예외 명세가 많은 문제를 가지고 있을수 있음을 이해 할것이다. 컴파일러는 그들의 부분적인 쓰임새를 검사해서 템플릿에서 문제를 발생할 소지를 않으며, 컴파일러는 의외로 규칙위반을 하기 쉽고, 컴파일러가 제대로 되지 않으면 프로그램을 불시에 멈추어 지도록 유도할것이다. 예외 명세 역시 또다른 문제를 안고 있는데, 예외명세는 높은 수준의 호출자가 예외 발생을 대비할때도 unexpected로의 결과물을 만들어 낸다.
         Session의 파괴자는 logDestruction을 호출한다. 하지만 명시작은 어떠한 예외도 해당 logDestruction에서 던지지 못하도록 막아놓았다. 한번 logDestuction이 실패할때 불리는 함수들에 대하여 생각해 보자. 이것은 아마 일어나지 않을 것이다. 우리가 생각한대로이건 상당히 예외 명세의 규정 위반으로 인도하는 코드이다. 이런 예측할수 없는 예외가 logDestruction으로 부터 퍼질때 unexpected가 풀릴 것이다. 기본적으로 그것은 프로그램을 멈춘다. 이 예제는 그것의 수정 버전이지만, 그런 수행을 Session 파괴자의 제작자가 원할까? 작성자는 ''모든 가능한 예외'' 를 잡으려고 노력한다. 그래서 그건 Session 파괴자의 catch블럭에서수행되는 것이 다다면 그건 불공평한 처사라고 보인다. 만약 logDestruction이 아무런 예외 명세를 하지 않는다면, ''I'm-willing-to-catch-it-if-you'll-just-give-me-a-chance'' 시나리오는 결코 일어나지 않을것이다. (이런 문제의 예방으로 unexpected의 교체에 대한 설명을 위해 언급해 두었다.)
         예외 명세의 균형있는 시각은 중요한것이다. 그것은 예외 발생을 예상하는 함수들의 예외 종류들을 보면 훌륭한 문서화가 될것이고, 잘못된 예외 명세의 상황하의 프로그램은 기본적으로 주어지는 상태 즉, 즉시 멈추는 것을 정당화할 만큼 잘못된 일이다. 같은 시각으로 예외는 컴파일러에 의하여 오직 부분적인 점검만을 당하고 예외는 의도하지 않은 잘못을 양산하기 쉬울것이다. 게다가 예외는 unexpected 예외에서 발생하는 높은 레벨의 예외 잡는 문제에 대하여 예방할수 있다.
         '''자 그럼 전혀 예외 핸들링을 하지 않았을때의 지불 비용을 생각해 보자,''' 당신은 객체들이 적재되고, 유지되는 트랙이 필요한 데이터 구조의 사용을 위해 공간에 대한 비용 지불을 한다. 그리고 당신은 이런 데이터 구조들을 갱신하고 유지하는데 필요한 시간에 대한 비용을 지불한다. 이런 비용들은 일반적으로 정당한 요구이다. 반면에 프로그램이 예외를 위한 지원이 없이 컴파일 된다면 예외 지원을 하고 컴파일 하는 반대의 경우보다 좀더 빠르고, 좀더 작은 용량을 차지한다.
         프로그램은 일반적으로 독립적으로 object 파일들이 생성되어 지고, 단지 하나의 작성되어 만들어진 object파일에서 예외 처리가 없다면 다른 것들상의 예외 처리가 아무런 의미가 없기때문에, 당신이 예외처리코드를 사용하지 않는다면, 당신은 컴파일러 제작사들이 이런 예외들을 지원시 일어나는 비용을 없앨 것이라고 예상한다. 게다가 object파일이 예외를 빼기위해 아무런 상호간의 링크가 되지 않는다면 예외 처리가 들어간 라이브러리와의 링크는 어떨까? 즉, 프로그램의 어떤 부분이라도 예외를 사용한다면 나머지 프로그램의 부분들도 예외를 지원해야 한다. 이런 부분적 예외 처리 상황은 실행시간에 정확한 예외를 잡는 수행이 불가능 하게 만들것이다.
         물론 저것은 이론이다. 실질적으로 예외 지원 밴더들은 당신이 예외 작성을 위한 코드의 첨가를 당신이 예외를 지원하느냐 마느냐에 따라 조정할수 있도록 만들어 놓았다.(작성자주:즉 예외 관련 처리의 on, off가 가능하다.) 만약 당신이 당신의 프로그램의 어떠한 영역과, 연계되는 모든 라이브러리에서 try, throw, catch를 빼고 예외 지원 사항을 빼고 당신 스스로 속도, 크기 같은 예외처리시 발생하는 단점을 제거할수 있을 것이다. 시감이 지나 감에 따라 라이브러리에 차용되는 예외의 처리는 점점 늘어나게 되고, 예외를 제거하는 프로그래밍은 갈수록 내구성이 약해 질것이다. 하지만, 예외처리를 배제한 컴파일을 지원하는 현재의 C++ 소프트웨어 개발상의 상태는 확실히 예외처리 보다 성능에서 우위를 점한다. 그리고 그것은 또한 예외 전달(propagate) 처리와, 예외를 생각하지 않은 라이브러리들의 사용에 무리없는 선택이 될것이다.
         ''' 두번째로 try 블록으로부터의 예외를 잡는(exception-handling)에 대한 비용을 생각해 보자''' 이것은 당신이 catch로 예외 하나를 잡기를 원할때 마다 요구되는 비용이다. 각기 다른 컴파일러들은 서로 다른 방식으로 try블록의 적용을 한다. 그래서 해당 비용은 각 컴파일러마다 다르다. 그냥 대충 어림잡아서 예상하면, 만약 try블록을 쓰게되면, 당신의 전체적인 코드 사이즈는 5-10%가 늘어나고, 당신의 실행 시간 역시 비슷한 수준으로 늘어난다. 이제 아무런 예외를 던지지 않는다고 생각하자;우리가 여기에서 토론하고 있는것은 단지 당신의 프로그램내에서 try가 가지는 비용만이 아니다. 이런 비용의 최소화를 위해서 아마 당신은 필요하지 않는 try블럭은 피해야만 할것이다.
         문제의 초점은 예외가 던지는 비용이다. 사실 예외는 희귀한 것이라 보기 때문에 그렇게 크게 감안할 내용이 아니다. 그들이 ''예외적인''(exceptional) 문제의(event) 발생을 지칭함에도 불구하고 말이다. 80-20 규칙은(Item 16에서 언급) 우리에게 그런 이벤트들은 거의 프로그램의 부과되는 성능에 커다란 영향을 미치지 않을 것이라고 말한다. 그럼에도 불구하고, 나는 당신이 이 문제에 관하여 예외를 던지고, 받는 비용에 관한 대답에서 얼마나 클까를 궁금할것이라고 생각한다. 대강 일반적인 함수의 반환에서 예외를 던진다면 대충 '''세개의 명령어 정도 더 느려지는'''(three order of magnitude) 것이라고 가정할수 있다. 하지만 당신은 그것만이 아닐것이라고 이야기 할것이다. 반대로 당신이 이런 논쟁을 데이터 구조나 루프의 순회 구조를 효율적으로 만드는데 신경을 쓴다면 더 좋은 시간을 보내는 것이라고 생각한다.
  • MoreEffectiveC++/Miscellany . . . . 22 matches
          * Item 32: 미래를 대비하는 프로그램
         좋은 소프트웨어는 변화를 잘 수용한다. 새로운 기능을 수용하고, 새로운 플랫폼에 잘 적용되고, 새로운 요구를 잘 받아 들이며, 새로운 입력을 잘 잡는다. 이런 소프트웨어는 유연하고, 강하고, 신뢰성있고, 돌발 상황(사고)에 의해 죽지 않는다. 이런 소프트웨어는 미래에 필요한 요소를 예상하고, 오늘날 구현시에 포함시키는 프로그래머들에 의해서 디자인된다. 이러한 종류의 소프트웨어는-우아하게 변화하는 소프트웨어- ''program in the future tens''(매래의 프로그램:이하 영문 직접 사용)을 감안하는 사람들이 작성한다.
         이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 문서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 문법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(문서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
         이식성 있는 코드를 만들어라. 이식성 있는 프로그램의 제작은 그렇지 않은 경우보다 매우 어려운게 아니다. 그리고 눈에 보일 만큼 성능면에서 이식성 없는 코드를 고집해야 하는 경우는 희귀하다.(Item 16참고) 특정한 하드웨어를 위한 프로그램의 디자인에서도, 얼마 안있어 하드웨어 성능이 동일한 수준의 성능을 가져다 주므로, 이식성 있도록 만들어라. 이식성 있는 코드의 작성은 플랫폼 간의 변환에 쉽고, 당신의 클라라이언트 기반을 공고히 하고, 오픈 시스템의 지원에 관하여 좋다. 만약, 한 OS에서 성능이 실패해도, 쉽게 복구할수 있다.
         물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
         미래를 생각하는 것은 당신의 코드에 대한 재 사용성을 늘리고, 유지보수를 쉽게하며, 소프트웨어를 견고하게 만든다. 그리고 변화하는 환경에 우아하게 대처할 것이 확실하다. 미래에 대한 대처는 반드시 현재의 생각과 균형을 이루어야만 한다. 많은 프로그래머들이 현재 이외에는 생각을 하지 않는다. 하지만, 그래서 그들은 구현과 디자인에 긴 시각을 포기해야 한다. 다르게 하여라. 거부해라. 미래를 생각하는 프로그램을 만들어라.
         모든 일에 대하여 AbstractTnimal은 반드시 추상적이어야 하나? 그것은 반드시 최소 하나의 순수 가상 함수를 가지고 있어야 한다. 대부분의 경우에 알맞는 함수를 고르기에는 별 문제가 없다. 그렇지만 희귀한 경우에 당신은 아마 AbstractAnimal 같은 클래스를 만들어야 하는 상황에 직면할지도 모른다. 그러한 경우에, 적당한 방법은 순수 가상 함수로 파괴자를 만들어 버리는 것이다.;위에서 보는것과 같이 말이다.포인터를 통한 다형성을 지원하기 위하여 기본 클래스는 가상 파괴자를 어떤 방법으로든 필요로 한다. 그래서 순수 가상함수를 만들기 위한 비용만이 해당 클래스 정의부 바깥에서 이루어질 구현에서 지불된다. (에를들어서 p195를 보아라)
          * Item 34: 같은 프로그램에서 C++와 C를 혼합하는 법 이해해라.
         많은 면에서, C++와 C에서 컴포넌트를 만들때, 네가 하는 걱정은 C 컴파일러가 오브젝트 파일을 서투르게 처리 할때의 걱정과 같다. 다른 컴파일러들이 구현에 의존적인 요소들에 대하여 동일하지 않으면, 그런 파일들을 혼합해서 쓸 방법이 없다. (구현 의존 요소:int, double의 크기, 인자를 넘기고 받는 방법, 호출자와 호출간에 통신 ) 이러한 개발 환경에서 컴파일러들을 섞어서 사용하는 것에(mixed-compiler) 관한 실질적은 관점은 언어의 표준에 대한 노력에 의해서 아마 완전히 무시 된다. 그래서 컴파일러 A와 컴파일러 B의 오브젝트 파일을 안전하게 섞어서 쓸수 있는 신뢰성 있는 유일한 방법은, 컴파일러 A,B의 벤더들이 그들의 알맞는 output에 대한 product의 정보를 확실히 아는 것이다. 이것은 C++와 C를 이용하는 프로그램, 그런 모든 프로그램에 대하여 사실이다. 그래서 당신이 C++과 C를 같은 프로그램에서 섞어서 쓰기 전에는 C++와 C컴파일러가 알맞는 오브젝트 파일을 만들어 내야만 한다.
         당신도 알다 시피, name mangling(이름 조정:이후 name mangling로 씀) 당신의 C++ 컴파일러가 당신의 프로그램상에서 각 함수에 유일한 이름을 부여하는 작업이다. C에서 이러한 작업은 필요가 없었다. 왜냐하면, 당신은 함수 이름을 오버로드(overload)할수가 없었기 때문이다. 그렇지만 C++ 프로그래머들은 최소한 몇개 함수에 같은 이름을 쓴다.(예를들어서, iostream 라이브러리를 생각해보자. 여기에는 몇가지 버전이나 operator<< 와 operator>>가 있다. ) 오버로딩(overloading)은 대부분의 링커들에게 불편한 존재이다. 왜냐하면 링커들은 일반적으로 같은 이름으로 된 다양한 함수들에 대하여 어두운 시각을 가진다. name magling은 링커들의 진실성의 승인이다.;특별히 링커들이 보통 모든 함수 이름에 대하여 유일하다는 사실에 대하여
         그렇지만 만약 drawLine가 C함수라면, drawLine 함수를 호출할때 drawLine으로 포함하는 컴파일러된 버전으로 오브젝트( 혹은 동적 링크 라이브러리 등) 파일에 포함되어 있다.;name mangle이 되지 않은 체로 되어 있다. 당신이 이 둘을 모두 섞어서 프로그램 하려고 노력하면, 에러가 날것이다. 왜냐하면 링커는 xyzzy의 호출되는 함수를 찾고, 그에 관한 함수가 없기 때문이다.
         일단 name mangle에 관한 내용을 익혔다면, C++코드에서 main 이전과 이후에 많은 코드들이 수행된다는 사실에 관해서 생각해볼 필요가 있다. 특별히, 전역 이름 공간, 파일 영역상의 정적(static) 클래스 객체는 보통 main 보다 먼저 실행된다. 이 과정이 ''static initialization'' 이라고 알려져 있다. 이는 프로그램의 실행시점 간에 C와 C++ 프로그램에 대한 방법으로 완전히 다른 방향을 취한다. 비슷하게, static initialization으로 만들어진 객체는 반드시 그들의 파괴자를 static destruct 동안에 불러주어야 한다.;그러한 과정은 일반적으로 main 이후에 진행된다.
         때때로 C에 main 작성이 더 가치 있다고 보인다. - 대다수 프로그램이 C이고, C++이 단지 라이브러리 지원 이라면 이라고 말해라. 그렇기는 하지만, C++ 라이브러리는 정적(static) 객체(object)를 포함하는 것이 좋다.(좋은 기능이 많다는 의미) (만약 지금 없다해도 미래에 어쩌면 있을지 모르지 않는가? Item 32참고) 그래서 가능하다면 C++에서 main을 작성은 좋은 생각이다. 그것은 당신의 C코드를 제작성 하는것을 의미하지는 않는다. 단지 C에서 쓴 main을 realMain으로 이름만 바꾸고, main의 C++버전에서는 realMain을 호출한다.:
         우리는 C++와 C프로그램 사이에 데이터 교환에 관해서 다룬다. C++의 개념을 이해하는 C 함수를 만드는것 불가능 하다. 그래서 이 두 언어간의 전달의 수준은 C가 표현할수 있는 개념으로 한정된다. 그래서 객체의 전달 방식이나, 포인터를 C 에서 작성된 루틴의 멤버 함수로 전달하는 방법은 이식성이 떨어질것은 분명하다. C는 일반적인 포인터 이해한다. 그래서 당신의 C++와 C컴파일러가 만들어 내는, 두가지의 언어에서 알맞는 함수는 pointer와 객체를 pointer와 non-member 나 static 함수를 안전하게 교체할수 있다.자연 스럽게, 구조체와 built-in형의 변수들 역시 자유로이 C+++/C의 경계를 넘나든다.
         만약 당신이 C++와 C를 같은 프로그램에서 섞어서 쓰기를 원한다면, 간단한 가이드 라인을을 따를것을 기억하라.
         post-ARM 은 C++로 좋은 프로그램을 작성 할수 있느냐에 큰 영향을 준다. 결과적으로 C++ 프로그래머들에게 ARM의 내용과 다른 표준 사항을 아는 것은 프로그래머들에게 첫번째로 중요한 문제가 될것이다.
          * '''지역화(localization)에 대한 지원'''. 다른 문화에서는 다른 글자를 써야하고, 화면에 표현되는 날짜, 시간, 문자열 정렬, 돈을 세는 단위 etc 그 문화의 편의에 따라야 한다. 표준 라이브러리에 의한 지역화(localization)은 각 문화적 차이에 적합하도록 프로그램의 개발을 한다.
  • HolubOnPatterns/밑줄긋기 . . . . 21 matches
          * 패턴은 이와 같이 일반적인 해결 방법이기 때문에 한 프로그램에서 다른 프로그램으로 디자인패턴을 복사해 붙여넣는 것은 거의 불가능하다.
          * 요구 기능을 구현하는게 어렵다며 맘대로 다른거 붙이는 사람도있음.. 예를들면 파일을 삭제할때 복구기능을 만들기 싫어서 확인 다이얼로그를 띄우지.. - [서지혜]
          * 프로그래머는 지금 앞으로 어떻게 될지 모를 기능을 추가하는 것이 아니라 새로운 기능을 추가하거나 기존의 것을 수정하기 쉽도록 프로그램을 작성해야 하는 것이다.
          * 프로그래밍 프로세스는 디자인에서 시작하며 상속, 캡슐화, 디자인 패턴 등을 이용하고 디자은의 실체인 컴퓨터 프로그램을 내놓는다.
          * 사실 많은 절차 지향적 프로그램은 사용자 인터페이스를 통해 데이터베이스 테이블을 보여주는 역할을 할 뿐이다.
          * 절차 지향 시스템에서는 변화가 프로그램의 나머지에 '퍼져나가는'경향이 있다.
          * 자바가 객체지향 프로그램을 줄거라 생각하지마!! - [서지혜]
          * OO는 컴퓨터 프로그램에 내재하는 피할 수 없는 복잡성을 조직화 하는 것이지, 복잡성 자체를 제거하는 것이 아니다.
          * 셀룰러 오토마타(Cellular automata)의 프로그램 구현은 OO 시스템의 훌륭한 예가 된다. 셀룰러 오토마타 프로그램은 복잡한 문제를 정확히 객체 지향적인 방식으로 해결한다.
          * 좋은 클래스는 getter와 setter메소드를 갖지 않는데, 이런 메소드는 구현 상세를 노출시키기 때문에 결과적으로 유지 보수를 어렵게 만들기 때문이다. 예를 들어 getter 메소드의 리턴 타입이 바뀌게 되면 getter를 정의하는 객체뿐 아니라 'getter'를 호출하는 모든 코드 또한 바꾸어 주어야 한다. 잠시 후에 getter와 setter 메소드 없이 시스템을 디자인하는 방법에 대해 설명할 것이다. 기대해도 좋다.
          * 코드가 올바른 방식으로 구조화되지 않았기 때문에 유지 보수가 필요 이상으로 어렵다는 것이다. 이런 경우 리팩토링이 아닌 프로그램의 재디자인이 필요하다.
          * 어떤 사람들은 이러한 방식으로 CRC카드를 이용해 실제 프로그램까지도 디자인하지만 이 방식은 복잡한 대규모 프로그램까지 수용할 정도로 효율적이지는 않다. 대부분의 프로그래머는 정식 프로세스를 사용하여 UML로 동적 모델과 정적 모델을 개발한다.
          * 다형성이란 개념은 OO의 고유한 특성이며, 다형성을 사용하지 않는 프로그램은 객체 지향적이지 않다는 주장은 설득력있다.
          * 애자일 병행 개발의 중심에는 유연성이란 개념이 있다. 새로 추가된 요구 사항을 쉽게 반영할 수 있는 코드를 만든다는 것이다. 또한 아마도 필요할지도 모르는 기능을 구현하기보다는 꼭 필요한 기능을 구현하되, 프로그램은 변화를 수용할 수 있어야 한다.
          * 프로그램을 정상적으로 동작하게 할 수 있는 꼼수를 발견했다면 뭐 그런대로 괜찮다. 하지만 내 주장의 핵심은 '''애초에 상속으로 인한 문제가 발생하지 않도록 했어야 한다는 것이다.'''
          * 형진이가 지도해준 동적 모델링으로 우리가 하고있던 DB와 임상이 하는 SE를 모델링했을때는 참 재밌었지. 확실히. 내가 짠 프로그램보단 복잡도가 낮아보였어. 부럽. - [김준석]
          * 하드 코딩을 통해 어떤 객체를 생성할지를 결정하게 되면 프로그램이 실행되고 잇는 도중에는 행위를 바꾸지 못한다.
          * 10개의 디자인 패턴을 실제 프로젝트에서 사용하는 것처럼 함께 사용해 볼것이다. 다행히 프로그램이 이해하지 못할 정도로 거대하지는 않다. 클래스와 인터페이스를 모두 합쳐 20개 밖에 되지 않는다.
  • 데블스캠프2002/날적이 . . . . 20 matches
         드러나지 않은 보이지 않는 행위자가 하나 나왔는데, 이는 초기 데이터를 제공해줄 '무언가' 였다. 여기서는 이 프로그램 세계의 지배자인 'God' 를 상정했다. 신은 바퀴벌레의 창조자이며, 바퀴벌레의 운명 (여정)을 정해주며, 땅(판)을 만들어낸다.
         2. Scenario Driven - 앞의 CRC 세션때에는 일반적으로 Class 를 추출 -> Requirement 를 읽어나가면서 각 Class 별로 Responsibility 를 주욱 나열 -> 프로그램 작동시 Scenario 를 정리, Responsibility 를 추가. 의 과정을 거쳤다. 이번에는 아에 처음부터 Scenario 를 생각하며 각 Class 별 Responsibility 를 적어나갔다. Colloboration 이 필요한 곳에는 구체적 정보를 적어나가면서 각 Class 별 필요정보를 적었다. 그리하여 모든 Scenario 가 끝나면 디자인 세션을 끝내었다.
          * 위의 장점은 이미 이 프로그램을 우리가 알고 있다는 가정하에서의 장점이란 생각이 든다. Scenario 가 거의 한번에 뽑아져 나왔다는 점에서 더더욱.
          * Scenario Driven 관계상 중간중간 실제 프로그램 구현시 어떻게 할것인가를 자주 언급되었다. 'What' 과 'How' 의 분리면에서는 두 사고과정이 왕복되는 점에서 효율성이 떨어진다고 생각한다.
          * [영동] : 처음엔 남훈이 형의 세미나를 들었습니다. 제가 컴퓨터에 대해 거의 모르는 터라 처음 보는 용어가 너무 많았습니다. 그래서 그런지 "A는 어떤 어떤 일을 한다..."는 설명을 들으면 A가 어디에 속한 건지 혼란이 온달까... 그래도 나중에 동영상을 보니 그럭저럭 이해가 되는 것 같습니다. 남훈이 형 수고 많이 하셨습니다. 나중에 목소리 잘 안 나오는 거 보고 참 감사하다고 생각했습니다. 그리고 세미나가 끝나고 드디어 객체지향 프로그래밍으로 랜덤워크(스케쥴드워크로 개명됨)를 짜게 되었습니다. 어제 고민되던 문법은 의외로(?) 간단하더군요. 아직 구체적으로 들어간 게 없어서 그런가? 프로그래밍을 하는데 초반에는 5분에 한번씩 키보드를 파트너에게 넘기는 룰이 있었으나 후반엔 버그에 서로 정신이 팔려 그 규칙을 잊어버리고 거의 파트너였던 재니가 거의 짠 거 같습니다... 하여간 여기서 어려운 것은 전달인자를 넘기는 것이었습니다. 넘길 때 자꾸 변수 이름이 혼란스럽다는 것. 그리고 처음에 작성한 추상적으로 보이던 OOP 디자인. 여기서 프로그램을 이끌어 낼 수 있다는 것이 놀라웠습니다. 물론 그 이끌어 내는 과정이 너무 어렵다는 것이 문제지요. 또 한가지 놀라운 것은 확실히 객체지향 프로그래밍을 쓰면 코드의 길이가 확실히 줄어든다는 것이었습니다. 마지막으로... 세미나 준비하시고 프로그래밍 도와주신 선배님들 정말 감사합니다.
          * [영동] : 우선 처음엔 랜덤워크의 변형인 랜덤워크2를 짰습니다만 "43134331256..."식으로 입력 받는 것과 x축의 칸수를 적게 하고 y축의 칸수를 많게 하고 계속 아래로 전진하면 숫자가 이상하게 올라가는 버그가 나왔는데 둘 다 아직 고치지 못 했습니다... 전자의 경우는 그래도 좀 연구하면 가망이 있어 보이는데 후자의 경우는 어디가 틀렸는지 감도 못 잡겠습니다. 그리고 선배님들께서 준비해 주신 구조적 프로그램, 객체지향 프로그램은 처음에 선배님들께서 해주신 강의까지는 그럭저럭 개념은 알겠는데 나중에 클래스로 랜덤워크 짜라는 것이 나온 후로는 데블스 캠프가 그냥 이걸로 끝이 아니라는 것을 느꼈습니다... 여기서 며칠 밤 새는 것 외에도 혼자서 공부해 나가야 할 것이 많다고 느꼈습니다.
          * 기웅) 솔찍히 아직도 c++에 대해 잘 알지 못하는 형편이라.. 구체적으로 무엇이 문제구나라고는 말할 수 없을거 같네요. 우선은 아직 많이 부족하다는 생각이 드네요 다시 체계적인 공부를 해야 할듯.. 그리고 오늘 느낀건데 프로그램을 짤때는 무작정 벌리고 보는 것보다는 대충 구상을 끝내고 시작하는게 오류도 적게 나오고 쉽게짤 수 있을거 같네요.... 음 할말이 없네^^;; 아무튼 아제 좀 몬가 알거 같네요. 앞으로 열심히 할께요~
          프로그래밍은 계속 랜덤워크만 했는데 무지 어려웠습니다. 프로그램을 하면서 에러가 아닌 실행중 잘못된 점을 찾지 못한것이 문제 였던
          이 형이 생산성이 떨어진다더군요~ ㅡㅜ) 앞으로는 이것도 유의해서 프로그램을 짜도록 하겠습니다... 무진장 많은 삽질을 했지만 역시
          나 프로그램을 짜는 것은 재밌습니다. ^^v
          다시 와서 프로그램 짜려다가 너무 졸려서.............. -_-; 죄송..
          그리고 또하나느낀 점은 순수하게 자기 머리와 손으로 짠 프로그램이 아니면..그건 자기 프로그램이 아니라는거..
          이번학기 때 짰던 몇 개의 프로그램들이 사실은 책에 나온 알고리즘과 주변사람들의 도움이 보태져 짜여졌기
          때문에..난 스스로 그 프로그램을 짤 수 있는 능력이 없었던 거다.
          링크드리스트 - 자료구조 책에 나온 c루 짠 링크드 리스트는 typedef를 써서 글케 짰었는데..c++에선 아무래두 그런걸 안쓰는듯하다. 미묘한 에러가 자꾸 나는걸 보면..앞으로 c++을 얼른 공부해서 프로그램을 객체지향적으로 짜야할텐데..
          * 현민 : ㅡㅜ 어려워요~ 흠냐..... 그래도 프로그램 짜는거는 시간가는줄 모르고 재밌게 할 수 있네요~ ^^;;;;;; 계속 재밌게 배웠으면 합니다!!
          *[기웅] - 제로페이지 너무 좋은거 같아요^^ 덕분에 많이 배우고 가네요 특히 광식이형 오늘 절망적이었는데 정말 너무 고마워요 ^0^아잉~ 지금 패이스면 머지않아 저도 제대로된 프로그램 짤수 있을거 같아요 지금은 많이 서툴지만 열심히 할께요 많이 도와주세요~
         다들 피곤하실텐데 수고 많았습니다. 잘 가르쳐 주신 선배들도 넘 고맙구요 나두 광식이 오빠 너무너무 특히 고마웠어요~ 이말은 ㅡ.ㅡ;;;;; 오늘 밤 낼도 많이 부탁한다는 소리 ㅡ.ㅡ;;;;; 오빠 때문에 프로그램짜는거 넘 많이 도움이 된것 같아요. 사소한것 까지 화 안내시구 다 들어주신거 넘 고마워요 감격감격 ㅠ.ㅠ 앙~ 마방진 못끝낸게 너무 아쉬워요 머리속에서는 돌아가는듯 하면서도 안돌아가구 손가락은 움직이지두 않구 자다가 놀러 가야 하기 때문에 이제 일어 났어요 아마 녹초가 되지 않을까 오늘밤에는... 그럼 난중 봐요 다들 ^0^ 뺘뺘 ^^/
  • MFC/DynamicLinkLibrary . . . . 17 matches
         기존의 C/C++ 프로그래에서는 라이브러리를 LIB라는 확장자를 가진 형태로 제공하여 코드를 컴파일한후 링커가 프로그램에 필요한 부분을 라이브러리 파일에서 추출해서 만들어진 프로그램에 붙여넣는 방식으로 만들어졌다. 이런 구조가 윈도우 프로그램으로 오면서, 바뀌어야했는데..
         종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일한 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 한개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
         Library.DLL을 3개의 프로그램 A,B,C가 동시에 공유한다고 하면 각각의 프로그램이 실행될때마다 각 프로그램에서는 DLL파일의 함수로의 링크가 일어난다. 이런 과정은 윈도우 운영체제에 의해서 자동으로 이루어지고, 한개의 프로그램이라도 실행이 종료되지 않으면 윈도우는 DLL을 메모리에서 제거하지 않고 남겨준다.
          프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대한 링크가 성립된다.
          프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
          프로그램에서 필요한 메모리의 양을 최대한 줄이는 것이 가능하다.
         runtime dynmaic linking 의 중요한 점은, 런타임 상에서 해당 모듈을 교체할 수 있다는 점이다. winamp 의 나 KMP 등와 같은 플러그인을 제공해주는 프로그램의 경우 대부분 이러한 runtime-dynamic linking 방법을 이용한다.
  • SmallTalk/강좌FromHitel/강의2 . . . . 17 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
          Smalltalk를 사용하여 프로그램을 짜기 위해서는 우선 여러분의 시스템에
          이름을 지원하는 압축 프로그램을 사용하여 압축을 푸십시오.
          4. 다른 응용 프로그램을 설치할 때처럼 그냥 <Next> 단추를 누르면
          든지 Dolphin Smalltalk를 제어판의 "프로그램 추가/삭제"를 통해서 제거할
          Dolphin Smalltalk를 시작하기 위해서는 "시작 → 프로그램 → Dolphin
          절차를 거치지 않았기 때문에 프로그램의 실행 결과를 저장할 수 없다는 것
          1.3. Smalltalk 맛보기 프로그램
          이 문장들에는 여러분이 Smalltalk 프로그램을 실행하는데 익숙해지도록, 그
          프로그램들이 실려 있습니다. 이제 여기서는 이 창에 들어 있는 Smalltalk
          프로그램을 실행하고 그 결과를 알아보는 방법을 알아봄으로써, Smalltalk
          Smalltalk 시스템에 명령을 내리거나, 이미 만들어진 프로그램의 결과를 확
          글 1>은 간단한 디지털 시계를 만들어서 화면에 보이는 프로그램이었습니다.
          <바탕글 2> 복권 추첨 프로그램
          Smalltalk에서 응용 프로그램을 만드는 "MVP 짜임새"의 예를 보여주는 것입
          창에 대해서도 나중에 상세하게 다루겠지만, 여기서는 단지 프로그램이 어떤
  • MFC/ObjectLinkingEmbedding . . . . 16 matches
         서로 다른 응용프로그램들이 프로그램 안에 있는 데이터를 편집할 수 있도록 하는 프록램을 작성할수 있도록 하는 메카니즘이다. (예를 들자면 오피스웨어에서 포토ㅤㅅㅑㅍ에서 수정하던 그림을 특정 포맷으로 변환하지 않고 바로 붙이기 하는 경우와 같은 경우....)
         이렇게 다른 프로그램이 자신이 짠 프로그램에서 마치 자신의 프로그램의 데이터인 것 처럼 다루어지지만, 사실은 다른 프로그램이 그 데이터를 다루는 것 일 뿐이다.
         외부 객체를 현재 프로그램에 대한 도큐먼트의 부분으로서 저장하지 않고, 다른 프로그램에서의 레퍼런스로만 저장시키는 방식, 두번째로는 다른 프로그램의 도큐먼트를 자신의 프로그램에 엠베딩 시켜서 내부에 아예 포함해버리는 방식. 이렇게 2가지가 있을 수 있다.
         컨테이너 : 임베드된 객체를 처리할 수 있는 프로그램을 OLE 컨테이너라고 부른다.
         OLE서버 : 서버는 컨테이너에 들어갈 객체를 생성한다. 풀서버는 독립적인 프로그램으로 작동할 수 있거나, 복합 도큐먼트 안에 임베드된 객체로 작동한다. 미니서버는 standalone 모드로서 작동하지 못한다. 오로지 객체를 만들기만 할 뿐이다.
         OLE 컨테이너, 서버 사이의 통신은 윈도우 운영체제를 매개로 동작한다. 각 OLE 를 지원하는 프로그램은 공통의 OLE DLL을 가지는데 이 것이 윈도우의 기본지원 부분이다. DLL 안의 함수들은 이렇게 객체사이의 통신을 지원한다. 이때 이를 지원하는 표준적인 인터페이스가 COM(Component Object Model)이다. 본질적으로 엠비드된 객체의 모양과 컨테이너가 그것과 통신하는 방법을 정의한것이다.
         OLE서버를 어떤 방식으로 식별할 것인가? OLE객체는 문서, 프로그램등 OLE를 지원하는 어떤 프로그램도 될 수 있다. 시스템에 있는 각각의 OLE객체는 클래스 ID 또는 CLSID라고 부르는 128비트의 숫자로 식별한다. 이들은 GUID라고도 불리우며 알고리즘을 통해서 생성되기 때문에 모두 독특한 값을 지니게된다. 이러한 정보는 윈도우 시스템의 레지스트리에 저장되게 된다.
  • 새싹교실/2012/세싹 . . . . 16 matches
          3) Virtualbox실행 -> 새로 만들기 -> 운영체제 : Linux 버전 : Ubuntu -> 메모리1024MB로 설정하고 나머지 디폴트 설치
          2) 원하는 경로에 빈 문서 만들기 (확장자는 .c로 해주세요)
          1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
          3) 하지만 우리가 이 모든것을 반드시 알아야 통신 프로그램을 할 수 있는것은 아닙니다.
          네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. - wikipedia
          * 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 한번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 문제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 문제가 생긴걸까요? - [권영기]
          * [권영기] 학생이 맞닥트린 bind 오류는, 해당 포트에 내가 가서 눌러앉으려고(bind하려고) 가 보니까 다른 놈이 이미 차지하고 있어서 bind하지 못했다는 오류입니다. 프로그램에서 bind한 후 다 쓰고 나서 bind를 해제하지 않으면 이런 일이 발생합니다. bind 해제 코드를 꼭 넣도록 하세요. - [황현]
          * 동시 채팅 완성 20명까지 된다구!. 그리고 과제는 토요일 저녁 상태 그대로... 으으아아악 운지! - [김희성]
          * 채팅은 그냥 해본거긴한데 여러개의 클라이언트와 동시 접속하는 서버랑, 여러개의 서버에 접속하는 클라이언트는 숙제 아니였나요? - [김희성]
          잠깐 소개했던 thread프로그래밍을 김희성 학생이 thread로 소켓을 짜는 것인줄 알고 채팅 프로그래밍을 완성시켰네요. 강사 멘붕
          * socket과 thread를 이용하여 메시지를 주고 받을 수 있는 채팅 프로그램을 작성하시오.
          * [김희성/리눅스계정멀티채팅] 완료. 채널 추가는 다음에... - [김희성]
          * 채팅 코드를 보기 좋게 수정해봅시다. 힌트 - cpp 분할, 함수화
          요즘 갑자기 과제가 늘어서 채팅 프로그램에 손을 대지 못했습니다. 시간을 현명하게 써야할 것 같습니다. - [권영기]
  • 5인용C++스터디/멀티쓰레드 . . . . 15 matches
         스레드란 무엇인가? 실제로 말한다면 하나의 작업의 단위를 스레드라고 할수 있습니다. 윈도98는 멀티 테스킹이 가능한 프로그램입니다. 즉 한 번에 여러 작업을 할수 있다는 것입니다. CPU 자체는 한스텝에 한 개의 작업밖에는 하지 못합니다. 그렇다면 어떻게 윈도95는 멀티테스킹이 가능할까요? 바로 시간 분할입니다. CPU의 처리 속도가 1초에 99개의 작업 한다고 가정을 합시다. 그리고 현재 A,B,C 3개의 프로그램이 동작중이라고 예를 들어본다면 1초에 CPU는 A에 해당하는 작업 33개 B에 해당하는작업 33개 C에 해당하는 작업 33개로 나누어서 작업을 합니다.
         이렇게 작업을 함으로써 작업을 멀티 테스킹으로 할수 있다라는 의미입니다. 이때 하나의 작업 단위들을 스레드라고 합니다. "그럼 프로그램 내부에 모든 작업은 스레드로 나누어 지겠네요?" 라는 질문이 있을 것 같은데 그렇지는 않습니다. 스레드란 독립적인 작업 단위입니다. 즉 다른것에 구애 받지않는 자체적인 작업 단위를 스레드라고 합니다. 윈도에서 워드 프로세서를 띄우고 대용량의 데이터를 로드하여 프린터로 출력한다고 가정을 합시다. 프린팅 작업 도중에 워드프로세서를 사용할수 있습니까? 물론 윈도 95에서는 프린터는 프린터 대로 작동을 하고 워드 프로세서는 워드 프로세서대로 작업을 할수 있습니다. 여기에 인터넷을 통해서 큰 데이터를 다운 받는다고 가정을 합시다. 프린터하고 원드프로세서로 새로운 내용을 입력하면서 인터넷을 통해서 데이터를 다운 받을수 있습니다? 물론 할수 있습니다. 여기에서 원드프로세서의 입력작업이 하나의 스레드 프린팅 작업이 하나의 스레드 또한 다운 로드가 또하나의 스레드입니다. 실지로 윈도 98의 내부적인 모든 프로그램의 동작은 멀티 스레드로 설정되어 있습니다. 그렇기 때문에 다중 작업을 할수 있는 것입니다.
         프로그램 작성하다 보면 프로그램 수행도중 현재 프로그램은 다른 작업을 수행하면서 또하나의 작업을 수행하고자 할 때가 있을 것입니다. 이때 사용하는 것이 바로 스레드 입니다. 작업을 함수로 프로그래밍을 하고 난후에 이것을 스레드로 형태로 실행하면 됩니다
         스레드를 동기화 시키는 것은 상당히 어려운 작업중의 하나입니다. 아주 작은 실수만 하더라도 프로그램은 생각과는 전혀 다른 방향으로 흘러가고 맙니다. 또한 여러개의 스레드를 동시에 디버깅 한다는 것도 쉬운일은 아닙니다. 그러나 다해이도 VC는 기본적으로 동기화가 잘 된 프로그램을 제공합니다. 작은 단위의 일을 하는 중간에 자신의 작업을 다른 스레드로 뺏기는 일이 별로 없다는 이야기입니다. 여기에서는 스레드의 동기화에 대한 맛보기 정도로만 소개합니다.
         프로그램이 수행될 때 한 개의 데이터를 동시에 두 개의 프로그램이 핸들링할경우가 있습니다. 예를 들어 (a)라는 파일에 A프로그램은 데이터를 입력,수정하고 B라는 데이터는 데이터를 검색합니다. B가 읽고자 하는 시점에서 A라는 프로그램이 그데이터를 수정하고자 한다면 여기에서 문제가 발생됩니다. A가 수정한 후에 B가 읽게 할것인가? 아니면 B가 읽고 난후에 A라는 데이터가 수정을 하게 할것인가? 이런 문제점은 동시성을 가진 운영체제에서 해결해야할 중요한 항목입니다.
          - ex)) 통신프로그램 작성시, 전송받은 데이터를 화면에 보여주는 일련의 작업은 반드시 데이터를 전송받은 후에 수행되어야 함 (동기화의 필요성)
          * 프로그램이 로딩되어, 메모리 상에서 실행되고 있는 상태를 프로세스(process) 혹은 태스크(task)라 한다.
  • MFCStudy_2001/진행상황 . . . . 15 matches
          * 모든 프로그램의 접수처는 neocoin@orgio.net 입니다. 링크 시키란 의미가 아닙니다.
          * 1월 9일자 진행 프로그램: [http://zeropage.org/pds/Alcanoid1_혜영.exe 혜영] [http://zp.cse.cau.ac.kr/~nuburizzang/Arca.exe 인수] [http://zeropage.org/pds/arkanoid_선호.exe 선호] [http://zeropage.org/pds/omok_상협.exe 상협] (창섭이는 부탁으로 제외하고 다음 이시간에)
          * 2002. 1. 7 월요일 1시 정모에 회원 모임 (모두 참석) 제출 프로그램:
          * 2002. 1. 22 프로그램 진행 상황의 체크 종료. 진행상황 점검과, 체크사항, 프로그램에 대한 의견 교환
          * 개인들에 관한 최종 정리 : 이번주 2월 3일까지 프로그램을 주세요. 최종 정리는 4~6일 사이에 이루어 집니다.
          * 2002. 2.14 최종 정리 종료: 마지막으로 끝낸 프로그램을 결과물 페이지에 올렸습니다.
          * 진행상황 체크는 하지 않지만 마지막 각자의 산출물을 30일에 링크 걸고 이 위키 페이지 최종 정리에 들어 갈것입니다. 30일 이후에 프로그램을 받겠습니다.
          * 삽질중 : GetDC()만 쓰면 프로그램이 뻗어 버린다. 왜 그럴까..
          * 느낀 점 : 역시 난 아직 걸음마를 익힌 단계에 불과한 넘이다. 이런 허접한걸 프로그램이라고 만들어 놓고 좋아하다니..--; 앞으로 더욱 열심히 매진을! 메모리 엄청 새고.. DC에 대해 더 공부를 해야 하는 걸까..
          함수를 마니 만들었었다.) 함수 만들기도 짜증나고 해서.. 다 프렌트 클래스로 넣어 버렸다. 좀
          *1월 2일 : 메뉴 만들기[[BR]]Option으로 Ball Size, Paddle Size, Ball Speed를 사용자가 선택하도록 하기 위해서 필요. Ball Size는 11,13,15 Pixel 중에서 하나를 선택해야 함 - 중복 선택할 수 없도록하기 위한 처리..--;나중에 보니 1학기때 실습예제로 있었는데 몰라서 한참을 삽질) 그리고 게임중일때는 Option메뉴를 선택할 수 없도록 하기 위한 처리까지 했다.
          *자신도 한칸 띈 공격을 하게 만들기
          *1월 14일 - 13일 일요일에 석천이형의 조언에 따라 코드 전체적으로 대대적인 Refactoring(이 용어가 맞는지는 모르겠네여..^^;;)을 해서 할수 있는 한 많은 코드들을 함수로 만들었습니다. 이에 따라 라인수가 아주 많이 줄어들게 되었고, 공격과 방어 인공지능을 같은 함수로 동작하게 하여 방어 할 수 있는 패턴은 모두 컴퓨터 공격할 수 있게 하였습니다.(덕분에 코드를 체계적으로 만들때는 상당히 힘들었지만, 한번 그렇게 하니 작업이 훨씬 쉬어 졌습니다. 참으로 중용한 사실을 몸소 체험 한거 같습니다) 3,4 방어 및 공격 인공 지능을 추가 했습니다. 이제 사람을 이길 확률이 좀더 높아 졌지만, 아직도 부족한것 같고 띈 3,3 방어 및 공격과 효율적인 3 만들기를 추가할 예정입니다.
          * 효율적인 2개 만들기 업그레이드
  • 새싹교실/2012/주먹밥 . . . . 15 matches
          * [박도건] : 컴퓨터에 관한 여러가지 잡 지식 + 프로그램 사용법 습득, 네트워크 프로그래밍, 게임 만들어보기.
          * [용상훈] : 기본적인 c언어와 안드로이드,아이폰 어플을 만들기 프로그래밍 사용법 습득.
          * [한원표] : 다양한 컴퓨터 프로그램에 익숙해지고 커리큘럼을 열심히 따라가겠다.
          * 한원표 : 새싹교실 첫 수업이었다. 박도건, 용상훈이라는 동기들과 같이 하게되었는데 앞으로 친해졌으면 좋곘다. 처음에는 새싹교실을 하는 이유와, 진행방식 등에 대해 선배님께 설명을 들었다. 그리고 wiwki에 가입해서 앞으로 우리가 새싹교실에서 배운것, 느낀것을 직접 편집할 수 있다는 것이 좋았다. 그 후에 Virtual Box라는 것으로. Hello World라는 프로그램을 짯는데 새로운 환경을 볼 수 있어서 좋았지만 한편으로는 처음보는 환경이라 어색한 감이 있었다. 그리고 어플 프로그램을 보여주셨는데. 친구들은 이해하는것 같은데 나만 잘 못하는 것 같았다.
          * if문, switch()case: default:}, for, while문의 생김새와 존재 목적에 대해서 알려주었습니다. 말그대로 프로그램의 중복을 없애고 사용자의 흐름을 좀 더 편하게 코딩할수 있도록 만들어진 예약어들입니다. 아 switch case문에서 break를 안가르쳤네요 :(
          * 변수타입 - C언어는 고급언어이다. 왜냐. 사람이 쓰기 좋게 만들기때문이다. 편하게 만들어주는 것중 하나가 변수 타입이다. int는 정수, char는 문자, float는 실수. 참 편하지 않은가? 사람을 위해 만들어진것이다. 언제까지 0과 1로 대화할텐가?
          * http://forum.falinux.com/zbxe/?document_srl=441104 를 참조하면 통신 프로그램을 짤 수 있을 것이다.
          * 절대 경로와 상대경로. '절대 경로'는 운영체제 기준으로 운영체제가 젤 세부로 나눠주는 드라이브를 비유해서 설명해주었습니다. 운영체제 기준으로 {{{ C:\\Desktop\test.txt }}}를 같은 폴더 프로그램으로 불러와봅시다. 잘불러와지네요? 하지만 {{{C:\\Desktop\오리\test.txt }}}로 저 txt파일과 프로그램을 옮기면 실행이 될까요? 안되죠? 같은 폴더에 있는데도. 그럼 어떻게 해야할까요? 그래서 상대경로 라는것이 나왔습니다. {{{ .\test.txt }}} 면 같은 폴더에 있는 test파일을 찾고. {{{ ..\test.txt}}} 는 바로 위 상위폴더를 찾습니다. 다른폴더는 어떻게 하나고요? {{{ .\오리\test.txt }}}로 설정하면되죠. '''상대 경로'''는 해당 실행파일 기준으로 파일 위치를 추적 하는것이랍니다.
          * 박도건의 프로그램 봐줌.
          * 질문 : 박도건, 용상훈 -> 플래시 프로그램은 왜 쉬운가요?
          * SVN 거북이를 이용하여 http://nforge.zeropage.org/svn/coordinateedit 에 코드를 올리는것을 올려놓음. 도건이 프로그램을 그곳에 올려놓고. 고쳐서 올려놓음. 받는건 숙제!!! 신남.
          * 박도건 프로그램 봐줌
          * 도건이와 함께하는 자바스크립트 웹 게임만들기! 거지같어.
  • AcceleratedC++/Chapter13 . . . . 14 matches
         13장에서는 4장에서 만들었던 성적 계산 프로그램을 학부생, 대학원생에 대해서 동작하도록 기능을 확장하는 프로그램을 통해서 상속과 다형성(동적바인딩)의 개념을 배운다.
         ''(9.6절에 있는 기존의 프로그램을 이용한다.)''
         이 프로그램의 경우 기존 객체와 다른 부분은 동일하지만 대학원생의 성적을 다루는 경우에는 논문과 관련된 점수가 포함된다는 가정을 하고 만들어진다.
         '''만들어진 클래스를 이용해서 성적을 입력받고 보고서를 출력하는 프로그램 (Core)'''
         '''만들어진 클래스를 이용해서 성적을 입력받고 보고서를 출력하는 프로그램 (Grad)'''
         입력을 받는 record가 일반형이기 때문에 위에 2개의 프로그램은 각기 Core, Grad에 대해서 정적으로 바인딩된다.
         이렇게 프로그램이 작성되면 동일한 기능을 하는 프로그램을 자료형에 따라서 2가지로 따로 작성해야한다.
         단일프로그램을 작성하기위해서 타입 의존성을 제거해야할 부분
          앞의 예에서처럼 vector<Core>의 컨테이너를 설정하게 되면 컨테이너 안에 저장되는 객체가 Core의 객체가 되므로 정적으로 바인딩된다. 이를 해결하기 위해서는 vector<Core*>를 통해서 객체를 동적으로 할당하고 관리하도록 하면, 서로 다른 타입의 객체를 저장하는 것도 가능하고 프로그램의 다른 부분에서 다형성의 이점을 이용하는 것도 가능하다.
          위의 프로그램은 할당되지 않은 Core 공간에 값을 대입하려하기 때문에 에러를 발생시킨다. 프로그래머가 객체에 필요한 공간을 직접관리. 읽어들이는 레코드의 종류를 판단해야함.
          입력과 출력의 각 부분에서 그리고 컨테이너의 요소를 사용할때 포인터를 이용함으로해서 프로그램이 동적바인딩을 이용해서 상당히 간결해진 것을 확인할 수 있다.
          상기와 같은 방식으로 포인터를 이용해서 프로그램을 작성하게 되면 프로그래머가 메모리를 직접적으로 관리를 해야하기 때문에 여러가지 버그를 만드는 문제점을 가지고 있다.
  • JavaStudy2004/자바따라잡기 . . . . 14 matches
          그런데 언제부터인지, 네트워크의 대명사인 인터넷에서 이 자바 커피가 하나밖에 없는 독특한 향기를 뿌리고 있다. 인터넷을 좀 아는 사람이라면 자바를 들어보지 못한 사람은 거의 없을 것이다. 자바는 월드와이드웹 상에서 프로그램을 실행할 수 있게 하는, 네트워크를 기반으로하는 언어로, 인터넷 프로그래밍 언어의 표준이 되었다.
          자바가 인터넷 세계에서 관심의 초점이 된 것은 먼저 세계를 하나로 엮는다는 인터넷을 기본 환경으로 하고 있으면서 인터넷에 연결되는 수많은 서로 다른 운영체제(OS)들에서 동일한 모습으로 프로그램을 실행할 수 있다는 점이다.
          요약해서 말하면 자바는 인터넷의 기반인 웹의 프로그램 언어(Language)라고 이해하면 된다.
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
          이 문제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요한 부분이나 문제가 될 부분들을 제거한 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용한 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원한 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          *3. IBM에서 말하는 가상머신이라는 용어는 또한, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 한다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
          *4. 그 밖의 경우에서의 가상머신은, 컴퓨터를 실행하는 운영체계나, 어떤 프로그램을 의미하기 위해 사용되기도 했었다. 이를 인용하면
          "실행되고 있는 프로그램은 간혹 가상머신이라고 불려진다. - 실제 물리적인 현실로 존재하지 않는 머신. 가상머신 아이디어는, 그 자체로 기술의 역사에서 가장 멋진 아이디어 중의 하나이며, 소프트웨어에 관한 아이디어의 진화에 있어 매우 결정적인 단계라고 말할 수 있다. 그것을 따라잡기 위해, 과학자와 기술자들은 프로그램을 운영하는 컴퓨터가, 단지 세탁이나 하는 세탁기가 아니라는 것을 인식해야만 했다. 세탁기는 그 안에 어떠한 옷들을 넣는다 해도 여전히 세탁기이지만, 컴퓨터는 새로운 프로그램을 넣는다면, 그것은 완전히 새로운 기계가 된다.... 가상머신, 그것은 소프트웨어를 이해하는 방법이며, 소프트웨어의 설계가 기계의 설계와 다르다는 것을 생각하게 한다."
  • 새싹교실/2012/우리반 . . . . 14 matches
          * 모든 C 프로그램의 기본은 여기서 시작된다.
          1.int a=10,b=12,temp;가 있는데 a에 있는 값을 b에 넣고, b에 있는 값을 a에 넣는 프로그램을 짜 보세요.
          3.다음 프로그램이 무엇을 출력하는지 생각해보고, 프로그램을 그대로 짜서 뭐가 나오는지 확인해봅시다.
          (추가 : 인간이 쓰는 언어에 가까운 언어로 짠 프로그램을 기계어로 된 프로그램으로 변환시키는 것이라고 생각합니다.)
         (추가 compile이란 High level language , 즉 인간이 구분하기 쉬운 언어로 작성된 프로그램을 Machine language(기계어)로 번역하여 처리하는 작업이라고 생각합니다.-[권도현]
          * 180기준으로 크면 위너, 작으면 정상인. 그런데 164는 정진경, 171은 이미경, 187은 권도현이 나오는 프로그램 작성.
          2-1.switch, case문을 이용해서 이번시간에 짰던 프로그램을 새로 짜 보도록 합니다.(키에 관한 프로그램)
          2-2.char형을 통해 printf("%c%c%c%c%c",????);로 Woori가 나오는 프로그램을 짜보도록 합시다. 소스는 jereneal20@네이버.com으로 보내줘요.
         }}} 이 프로그램의 출력값은?
          * 공통과제 1: 구구단을 출력하는 프로그램 짜오기.
          * 미경이 과제 : 숫자를 입력받고 해당한 만큼 별찍기를 하는 프로그램 짜오기.
  • Java Study2003/첫번째과제/방선희 . . . . 13 matches
          * VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
          * 장점 : 가상머신이 한 플랫폼에서 제공되면, 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다.
          애플릿은 브라우저에 플러그인 형식으로 실행될 수 있는 자바 프로그램을 말하고 애플리케이션은 브라우저가 아닌 순수 자바 프로그램들을 말합니다. 굳이 따지자면 서블릿, 빈즈, JSP 모두 애플리케이션에 해당하겠죠.
          빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연한 시스템을 개발하고자 하는 취지에서 탄생한 것입니다.(언뜻 이해가 안될 수도 있음...)
         4. 자바로 "Hello World!"를 출력하는 프로그램 작성하기
          * 이 내용들을 대충이라도 이해했으면 될꺼 같군요. 역시 마찬가지로 실제로 프로그램을 돌게끔 만들지를 못한거 같군요. 한번 해 보세요.
          * Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
          * Java는 보안능력이 뛰어나다. 예를 들어 네트워크를 통해 내 PC로 download된 Java로 개발된 프로그램은 일반적으로 그 능력이 제한된다. 다시 말해 바이러스처럼 작용할 수 없다는 말이다 (이점은 MicroSoft의 Active X와 비교된다).
          * MicroSoft windows에서 신나게 실행되는 게임이 Linux에서도 잘 돌까? 아마도 답은 '아니다' 일 것이다. 그러나 만약 그 게임이 Java로 제작되었다면 답은 '예' 이다. 다시 말해 Java로 개발된 프로그램은 PC, Macintosh, Linux등 machine이나 O/S에 종속되지 않는다.
          기존에 Sun OS에서 Java로 개발한 인사시스템을 Windows NT로 이관하고 싶다. 이때 프로그램 수정없이 가능할까? Windows NT를 지원하는 JDK가 있다면 가능하다. 그러고 Windows NT를 지원하는 JDK는 있다.
          * Java를 이용해 재사용 가능한 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력한 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 13 matches
         OS를 만들기도 하겠으며, 저 사람들과 같은 MDir Clone, Graphics, Sound 등 모든 것을 Assembly로 해내겠다.
          └저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 문제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
         음. 아쉽게도 그런 용도로 Assembly를 평가 한게 아닙니다. 우수하고 못하다의 평가는 여기서도 나오는군요. 한가지만 파면 성공한다와 같은 맥락이랄까요... 저는 미래의 직장보다도 현재의 지식욕을 채우고 싶을 뿐입니다. 누구보다도 이것에 대해 많이 알고 싶고 또한 그렇게 되길 바랄뿐입니다. 과연 Java나 Python등을 공부하다보면 컴퓨터에 대한 가장 기초적인 지식들을 얻기 쉬울까요? 그렇기 때문에 Assembly에 대한 직접적인 접근을 하려고 하는 것입니다. 지식욕이 아니더래도 현직에 계시는 프로그래머분들께 컴퓨터에 대한 기초가 부족하고 프로그램만 짤 줄 아는 신참 직원들은 항상 한계에 다다르면 좌절한다라는 말을 들은적이 있습니다. 한번쯤은 생각해 볼 문제입니다. Assembly > C++을 평가한 것은 이런 맥락입니다. 컴퓨터에 대한 기초가 있느냐 없느냐. Assembly를 만지고 C++을 만진 사람의 경우는 모르겠지만 C++만 만지고 Assembly를 공부하지 않은 사람의 한계는 언젠가는 드러나게 되죠.
         전 어제 제가 평생 해도 따라가지 못할것 같은 사람을 보았습니다. 그 사람과의 벽이랄까요. 물론 그분이 연륜이 있으시지만 컴퓨터 자체에 대한 기초적이고 깊은 지식은 따라가질 못하겠습니다. 그분의 소싯적에 C언어로만 짠 프로그램들은 컴퓨터에 대한 깊은 이해가 없으면 불가능한 것들이었습니다. 그분이 Assembly를 배우지 않고 C를 처음부터 만졌다면 어땠을까요? 그런 프로그램들을 짤 수 있었을까요? 이상, 우물 밖으로 튀어나온 개구리였습니다.
         다른 사람이 제 생각에 이의를 제기하면 생각을 다시 하고 고치지만, 제가 정말로 옳다고 하는 것들은 어떤 권위가 와도 굴복하기 힘드네요.(이러면 적을 만들기 쉽지만, 자신을 버리긴 힘드네요.) 이번 생각만은 제가 옳은 것 같습니다. 현재에는 가장 기초가 되는 Assembly어를 다지고 다른 것에 관심을 돌리겠습니다. :)
         생각이 너무 한쪽에 치우신거 같네요. 아마도 저 말고 다른 선배님들도 저와 비슷한 심정(생각)으로 글을 쓰셨을거 같습니다. 선배님들 말이 어셈블러를 공부하지 말라? C++만 공부하라~~ 이렇게 들리셨나요? 저는 아닌거 같은데요. 조금만 더 생각하고 읽었으면 좋겠네요. 위에 쓰신 글들을 보니 어쩌면 프로그래밍에 관련해서 저보다 더 많이 알고 있으리라 생각되는데요. 우선 젤하고 싶은 생각은 남의 글을 비판적으로 읽는것도 중요하지만, 그사람의 입장에서 생각해보는게 좋을거 같군요. A라고 말했는데, B라고 들으면 안돼겠죠. 어셈을 익히고 C++을 익히는것도 좋습니다. 그렇다고 C++을 익히고 어셈을 익히는게 나쁜 방법이라고 생각하지는 않는데요..@,.@. 제생각에는 님은 "어셈을 꼭 인힌다음 C++을 익혀야돼" 라는 고정관념에 빠진듯 함니다. 어셈을 모른다고 프로그램을 적게 이해한다고 생각하지도 않구요. 제 의견이지만 특정 프로그램언어 보나는 알고리즘, 자료구조 이런것들이 더 중요하다고 생각합니다. 그리고 C++이 쉽다? 정말 그럴까요? 정말 C++이 어셈보다 쉽다고 생각하시나요? 이펙티스 C++이나 엑셀레이터 C++ 이런책들을 한번 읽어 보시는것도 좋을거 같네요. 머 주저리 주저리 쓰게 됐는데 어디까지나 제 생각이고, 다른사람들의 입장에서 글들을 한번 다시 읽어 보는것도 괜찮은 생각인거 같군요. - 상섭
          '' '특정언어를 공부한다'에는 두가지 의미가 같이 포함되어서 그런 것 같습니다. 즉, 언어 자체를 공부하는 것과 해당 언어가 쓰이는 분야(시스템, 웹, 컨커런트 등)를 공부하는 것. 아마 영호군의 경우 강조하려는 것은 시스템 레벨에의 지식에 대한 공부일 것이므로, '알고리즘/자료구조 대신 특정 프로그램언어를 공부한다'는 기우가 아닐까 생각. (물론, 하려는 이야기는 이해했음..~)--[1002]''
  • JavaScript/2011년스터디 . . . . 12 matches
          * Canvas를 이용해 그림판을 만들기를 하고 있습니다.
          * Canvas를 이용해 그림판 만들기를 하고 있습니다.
          * Canvas를 이용해 그림판 만들기를 하고 있습니다.
          * Canvas/SVG를 이용해 그림판 만들기를 하고 있습니다.
          * Canvas만들기를 마무리했습니다.
          * jQuery는 잠정 연기하기로 하고 php와 MySQL, js, html을 다 사용하는 방명록 만들기를 하기로 하였습니다.
         7. 테이블에 Primary Key 만들기
          * [http://clug.cau.ac.kr/~hs4393/visitor 추성준 방명록만들기]
          * [http://clug.cau.ac.kr/~jereneal20/sqltest.php 김태진 방명록만들기]
          * [http://clug.cau.ac.kr/~hs4393/visitor 추성준 방명록만들기]
          * [http://clug.cau.ac.kr/~jereneal20/guestbook.php 김태진 방명록만들기]
          * [http://clug.cau.ac.kr/~linus/guestbook.html 박정근 방명록만들기]
  • SmallTalk/강좌FromHitel/강의4 . . . . 12 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
         모두 Smalltalk로 프로그램을 짜는데 꼭 필요한 역할을 수행합니다.
         프로그램을 실행하는데 중대한 잘못이 생겼다거나, 새로운 꾸러미를 불러왔
         리고 프로그램의 어떤 부분을 만들기 전에 여기서 기본적으로 여러 가지 명
         새로운 일터를 만들기 위해서는 File > New 메뉴를 사용하거나, 도구 모음에
         프로그램을 만들 때, 그 프로그램과 관계된 여러 가지 객체들을 넣어놓고 관
         다. 물론 Smalltalk에서도 창 만들기는 매우 중요한 위치를 차지하지만, 기
         다. "발자취 창"(walkback window)은 Smalltalk 프로그램이 실행되는 상태에
         문제를 무시하고 계속 프로그램을 실행시킬 때 쓰고, 는 지금 실
  • VisualBasicClass/2006/Exam1 . . . . 12 matches
         ① 프로구램의 작동 순서가 완전히 프로그램에 의해서 지시되고 제어된다.
         5. 비주얼 베이직의 기본적인 프로그램 작성 과정을 간략하게 나열한 것이다. 올바른 순서를 쓰시오?(1점)
         C) 프로그램 기획 및 설계
         8. 다음 프로그램의 출력은?(1점)
         9. 다음 프로그램은 입력된 문자열을 역순으로 나타내는 프로그램이다. 괄호안에 알맞은 것은?(4점)
         10. 다음 프로그램의 출력은?(1점)
         13. 서브프로그램과 함수에 관련된 설명 중 가장 부적절한 것은?(1점)
         ① 지명 인수를 사용하여인수를 서브프로그램에 전달할 때는 반드시 파라미터의 순서대로 기술하여야 한다.
         ② 인수들을 서브프로그램에 모두 다 전달하기 부적절한 경우에는 Optional이란 키워드를 사용하면 효과적이다.
         ③ 함수는 수행한 결과를 호출한 프로그램에게 반한하는데 입력 인수는 여러 개일 수 있으나 출력 인수는 오직 하나이다.
         15. 다음 프로그램에서 List1.Text의 역할에 대한 설명으로 맞는 것은?(1점)
  • 데블스캠프2003/다루어볼문제와관련세미나 . . . . 12 matches
          * 회의 때 나왔던 주제들 입니다. OOP, Computer System, 다양한 프로그램 언어 체험, 네트워크
          * 작년 프로그램 잔치때 했던 여러 언어 중 하나를 골라서 뭔가를 짜보는 것도 괜찮을듯.. 여러가지 패러다임을 익히는 게 중요하다는 것을 알아서리.. --인수
          * 계획을 말씀드리겠습니다. 여러 문제를 푸는것 또한 중요하지만, 큰(?) 프로그램을 다루는것도 괜찮은 생각 같아서 OOP를 2틀째 넣고 마지막날까지 팀으로 연속해서 만들어 데모를 하는 방법도 생각을 했었습니다.(정모 때요..) -[상욱]
          입장을 바꿔서 생각해보세요. 과연 1학년때 큰 프로그램을 짜라고 하면 짤 수 있을지... 선배들과 짠다고 하면 선배들이 대부분 짜버리는 부정적인 결과가 나올지도 모를것 같습니다. 페어를 통해 배우는게 많기는 하겠지만 이제 막 ToyProblems 에 재미를 붙일 사람들인데 너무 목표를 크게 잡고 있는 것은 아닌지요... 아마도 제가 큰프로그램에 대해 잘 몰라서 이런 말을 하는 것 같습니다. 큰 프로그램에 대한 명확한 설명을 바랍니다. --[창섭]
          큰 프로그램이라고 말은 해 봤자 선배님들이 풀면 4~5시간이면 풀어버릴 문제가 될꺼 같습니다. 휴대폰 메뉴 만들기나 PDA기능 만들기 등 이런 조그만 프로그램을 묶어놓는 프로그램을 하면서 OOP를 조금이나마 느껴보라는 차원에서 하는 것입니다. 물론 같이 페어를 하는 선배님들은 정말 기초적인 것만 알려주는 식이고요 그 팀을 이끌어 가서는 안되겠죠? ^^; -[상욱]
          * 지나가다 잠시 말씀 드릴까 합니다. 아직 oop개념이나 프로그램 모듈화에 대해서 개념이 없는 분들에게 STL같은 것을 가르친다는 것은 약간 문제가 있지 않을까요? oop개념을 가르쳐도 구현 같이 base적인 경험이 없이 단지 가져다 쓰는것을 먼저 배우면 좋지 않을 것 같습니다. 1학년 분들 숙제 하는 것을 보니 모듈화 같은것을 가르쳐도 좋을 것 같은데. 많은 것을 가르치려고 하시는 것은 좋으나 능력에 적절하게 가르치는 것도 맞는 것 같군요. STL 같은 걸 가르치는 건 그 다음이 되었으면 좋겠구요.. 내부사정을 잘 모르니 틀리다 싶은 말이면 걍 흘려보내세요. 지우셔도 상관 없구요. ^^ - 00 나현철
  • 새싹교실/2012/해보자 . . . . 12 matches
          - 프로그램 어디서나 참조 가능하다.
          - 프로그램이 끝날 때 메모리상에서 지워진다.
          - 선언된 이후 프로그램이 끝날 때 메모리상에서 지워진다.
          1. #define pi 3.141592를 이용하여 구의 겉넓이, 부피를 계산하고 출력하는 프로그램을 만드시오.(코드를 여기에 올려주세요)
          * 예제1) 정수를 입력받고 숫자가 짝수인지 홀수인지 판별하는 프로그램
          - 무한반복의 성질이 있기 때문에 영원히 빠져나오지 못하는 프로그램을 만들 수 있다.
          * 예제3) a부터 z까지 출력하는 프로그램 만들기
          * 예제4) -1값을 입력할 때 까지 정수를 입력 받고 평균을 구하는 프로그램
          * int main()함수에서 return 0를 하는 이유: 메인 함수는 0을 반환하면 프로그램이 끝났다는 것을 알린다.
          * 예제2) 숫자 2개를 입력 받아 평균을 구하는 프로그램 만들기.
  • 위키설명회2005/PPT준비 . . . . 12 matches
         1992년 : 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
         1993년 : 비디오 도매상 관리 프로그램, '작은마녀' 게임 프로그램
         1994년 : 삼성전자 번들용 영어 교육 프로그램
         2002년 : 1회 SK 모바일 프로그램 경진대회 대상 수상
         그 밖에 프로그램 배틀, 조인트 스터디등등...의 계획
         특히 방학때 ==> 스터디를 통해서 본격적으로 공부함... 여름방학 같은 경우 데블스 캠프, 2학기 프로그램 전시회 준비
         채팅
         페이지 만들기.
         7. 프로그램 전시회 (올해는 조금 무리인것 같고. 내년쯤에는 반드시 부활시키고자 합니다.)
  • 후각발달특별세미나 . . . . 12 matches
          전문적인 설명은 아니구, 제 생각에는 함수를 사용하여 메모리 사용하는 비용과 프로그래머가 함수를 더 사용하여 소스의 가독성을 올리고, 유지 보수 및 버그를 없애는 비용과 비교를 해볼때 후자가 훨씬더 큰 비중을 차지하기 때문에 함수를 더 사용하여 메모리를 더 사용하더라도 리펙토링의 중요성이 결코 줄어들지 않는다고 생각합니다. 그리고 짧은 소스에서는 리펙토링 하여 함수가 많아 지는것이 낭비처럼 보일지 몰라도 좀더 프로그램이 커질수록 리팩토링을 해놓음으로 해서 추후에 최적화를 하는데에도 훨씬 유리하기 때문에 결국에 가서는 자원도 더 효율적으로 사용하리라고 봅니다. - [상협]
          메모리를 많이 사용한다는 우려의 원인은 많은 변수들에 있습니다. 전달인자를 받거나 값을 리턴할 때, 각각 상응되는 변수가 필요하기 때문이죠. 하지만 변수는 그 변수가 선언된 함수내에서만 효력을 발휘하고 함수가 종료되는 순간 사라집니다(메모리해제). 그러므로 모듈화된(쉽게 이야기해서 함수로 나뉜)프로그램에서는 함수내의 많은 변수들이 메모리를 많이 차지하더라도 그 함수가 끝나면 그 메모리는 해제되어 사용가능해집니다. 그리고 전역변수나 메인함수내의 변수만을 사용하는 프로그램프로그램이 끝날 때까지(메인함수가 종료될 때까지) 메모리를 잡아두므로 한번 할당된 메모리는 사용불가능합니다.
          모듈화된 프로그램에서의 메모리 사용의 개념은 '''필요할 때마다 할당해서 쓰고 필요없으면 해제하자'''이고 전역변수나 메인함수내의 변수만을 사용하는 프로그램에서의 메모리 사용의 개념은 '''지금은 안쓰이더라도 나중에 쓸 메모리를 미리 할당하고 사용이 끝났더라도 메모리를 계속 잡아두자'''입니다. 전자의 경우에는 어느 순간 메모리를 많이 사용하는 경우도 있고 어느 순간에는 엄청 적게 사용하는 경우가 있습니다. 메모리 사용이 더 유동적이라고 할 수 있습니다. 밑에 참고 그래프(자체제작)를 참고해주시기 바랍니다. --[강희경]
          함수의 갯수와 메모리 사용량은 직접적으로 관련이 없습니다. 메모리 사용량과 직접적으로 관련이 있는 것은 함수의 갯수가 아니라 프로그램의 길이 입니다.
          함수가 많다고 프로그램의 길이가 긴 것은 아닙니다. 길이가 짧은 함수를 여러개 가진 프로그램과 길이가 엄청나게 긴 함수를 한개만 가진 프로그램이 있다고 해봅시다. 길이가 더 긴 프로그램은 어떤 것입니까?
          리펙토링에 대해서 생각해 봅시다. 가장 먼저 배운 방법이 무엇이었습니까? 중복제거 입니다. 함수를 늘려 중복을 제거하면 프로그램의 길이는 길어질까요? 짧아질까요?
  • 1002/Journal . . . . 11 matches
         그리고, 각각의 테스트들을 위한 DB Property 설정이 자유로우려면 Server Property 화일은 스크립트 화일로 빠져나와야 한다. (테스트 돌릴때마다 프로그램 재컴파일 한다는건, 추후 프로그램 커졌을때 효율적인 방법이 아니다.)
         카세트를 잘 안쓰기 때문에 테이프로는 잘 안들을까봐 Cool Edit 이용, MP3 로 녹음했다. 웨이브 화일도 결국은 데이터이기에, 마치 테이프 짤라서 이어붙이는 듯한 느낌으로 웨이브 화일 편집하는게 재미있었다. 이전에 르네상스 클럽때 웨이브 화일에 대해 텍스트화일로 변환 & 인덱싱하는 프로그램이 필요한 이유가 생겼다. 전체 녹음을 하고 난 뒤, Chapter 별로 짤라서 화일로 저장하려고하는데, 웨이브데이터에 대해 검색을 할수가 없다! 결국 '대강 몇분짜리 분량일 것이다' 또는 '대강 다음챕터로 넘어갈때 몇초정도 딜레이가 있으니까.. 소리 비트와 비트 사이가 대강 이정도 되면 맞겠지...' 식으로 찾아서 화일로 쪼개긴 했지만. 웨이브 데이터에 대한 text 검색이 일상화된다면 이러한 고생도 안하겠지 하는 생각이 든다.
         지금 이전 노래방 프로그램 만들때 이용했었던 Audio Compression Manager 부분 이용하라고 하면 아마 다시 어떻게 API를 이용하는지 회상하는데 2일쯤 걸릴것이다. DX Media SDK 부분을 다시 이용하라고 하면 아마 하루정도 Spike 가 다시 필요할 것이다. 즉, 이전에 만들어놓은 소스가 있다고 그 지식이 현재 나의 일부라고 하기엔 문제가 있다.
         아는 사람으로부터 부탁을 받아서 작성중. 이미 프리첼 게시판 백업 프로그램은 제로보드나 이지보드, 드림위즈 등에서 만들어졌는데, 앨범/자료실 추출은 아직 이루어지지 않았나 보다. 뭐, 조금있으면 나올 것도 같은데.. 그냥 개인적으로 연습겸 만들어보게 되었다.
         중간 개개의 모듈을 통합할때쯤에 이전에 생각해둔 디자인이 제대로 기억이 나지 않았다.; 이때 Sequence Diagram 을 그리면서 프로그램의 흐름을 천천히 생각했다. 어느정도 진행된 바가 있고, 개발하면서 개개별 모듈에 대한 인터페이스들을 정확히 알고 있었기 때문에, Conceptual Model 보다 더 구체적인 Upfront 로 가도 별 무리가 없다고 판단했다. 내가 만든 모듈을 일종의 Spike Solution 처럼 접근하고, 다시 TDD를 들어가고 하니까 중간 망설임 없이 거의 일사천리로 작업하게 되었다.
         근데.. 자기 학교수업 들으면서 수많은 사람들의 사랑을 받는 버전 4.0 이상을 바라보는 프로그램 만드는게 어디 쉬운일일까. 디자인 훌륭하고 깔끔한 코드를 만드는 것 말고 할일은 많다. 더 중요한, 근본적인, 자기가 하려고 하는 일의 목적은 무엇인가. Moa:WorseIsBetter
         아직은 나에겐 '~한 점에서 결국은 다 같다' 라는 말보다는 '~한 점에서 다르다' 란 말로 배울 수 있는게 더 많은 것 같다. 아는 선배는 '결국 SE 의 큰 틀 내에서의 범주로 놓고 보면 RUP나 XP나 같은게 아니냐' 식으로 이야기한다. 나는 XP의 다른점(지극하게 가벼운 곳부터 시작하여 필요할때 테스크나 스토리로서 추가하는)으로 장점을 얻고자 한다. 아는 선배는 TDD로 하건 뭘로 하건 결국 빠르게 좋은 프로그램을 만들면 된다고 한다. 나는 TDD를 끝까지 해봄(디버깅 툴로 돌리는 시간이 거의 0라는 점, 내가 제어할 수 있는 좋은 질문 & 좋은 답을 만들어내기)으로서 장점을 얻고자 한다. 아직까지는 守의 단계이라 생각하기때문에.
          ''psyco는 가장 바깥쪽 함수, 클래스만 바인딩해주면 해당 코드가 호출하는 다른 코드들은 직접 알아서 다 바인딩 해준다. 즉, main이라는 함수가 있다면 그것만 바인딩하면 프로그램 내의 모든 코드가 바인딩 되는 셈. --JuNe''
          * 오늘따라 몸이 피곤함을 괭장히 많이 느꼈다. 파워프로그램이 필요하다;
          1. 프로그래밍에 대한 전반적 접근 - 문제를 Top Down 으로 나눈다는 관점. 2학년때 DirectX 로 슈팅 게임을 만들때 가끔 상상하던것이 석고로 만든 손을 조각하는 과정이였다. 조각을 할때엔 처음에 전체적 손 모양을 만들기 위해 크게 크게 깨 나간다. 그러다가 점점 세밀하게 조각칼로 파 나가면서 작품을 만들어나간다. 이런 식으로 설명할 수 있겠군 하며 추가.
  • Linux/디렉토리용도 . . . . 11 matches
         그래도 기본적은 프로그램을 깔정도가 되면 보는 것이 좋을듯하다. 처음에 이걸로 보다가 미치는줄 알았다''
          * 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
         아파치를 비롯한 모든 서버의 환경설정 파일이 관리 되는 곳이다. 물론 사용자가 직접 바이너리로 설치했을 경우에는 이 곳에 위치하지 않을 수도있다. 그러나 대부분 패키지 관리자를 통해서 설치된 프로그램의 경우 이곳에서 설정이 가능하다. 직접 설치를 하는 경우라면 '''X11, apache2, init.d, rc.*, skel, xinitd.d''' 디렉토리를 많이 다루게 된다.
          * 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
          * /usr/bin : 응용 프로그램의 실행 파일이 위치
          * /usr/src : 프로그램소스 및 커널 소스들이 보관되어 있는 곳.
          * /usr/local : 새로운 프로그램들이 설치되는 곳(windows의 Program Files 와 유사)
         보통 바이너리 프로그램을 설치할 경우 /usr/local 에 설치하여 일관성을 유지한다. jdk등을 설치할 때에고 관습상 /usr/local 에 설치를 해주고, 배포판이 패키지 형태로 jdk등을 제공할때에는 배포판을 통해 설치하는 것이 패키지의 통일성 및 관리의 편의성 면에서 좋다.
         실제 파티션을 분할할때에는 어떤 목적으로 프로그램을 이용하는지에 대한 이해가 필요하다. 처음 설치하는 사용자의 경우에는 전체 파티션을 단일 파티션으로 잡고 설치를 해도 무방하지만 다중 사용자 계정을 지원할 용의가 있는 경우에는
         || / || 500M/30G || 커널 이미지, 각 프로그램의 설정파일등 크지 않은 파일들이 저장된다. ||
         || /usr || 8G/30G || 실제 응용프로그램의 대부분이 설치되므로 넉넉하게 설정하는 것이 필요하다. ||
  • NSIS . . . . 11 matches
         보통 프로그램을 개발하고 나서 '만들었다' 로 끝나는 경우가 많다. 하지만, 정작 배포때에는 할일이 많다. 특히 제어판 프로그램 등록/삭제 에 등록되는 방식이라던지, 레지스트리를 건드린다던지, Program Files 폴더에 복사한다던지. 이 경우에는 보통 전용 Installer 프로그램을 쓰게 되지만, 아직 제대로 써본 적이 없었던 것 같다.
         이번에는 '배포' 라는 녀석에 대해 촛점을 맞춰보고자, 인스톨러중 하나인 NSIS 에 대해 간단히 정리하고자 한다. (자.. 이제 폼좀 내면서 만든 프로그램 보여주자. ^^; 이게 가장 큰 목적. --;)
         NSIS의 원리는 간단하다. nsi 라는 스크립트 화일을 해석해서 해당 맞는 프로그램들을 하나의 화일로 압축시키고 실행프로그램으로 만드는 것이다. (마치 배치화일을 작성한다고 생각할수도 있겠다.)
          1. 프로그램을 개발한다.
         NSIS installer들은 'MakeNSIS' 프로그램에 의해서 NSI script (.NSI) 를 컴파일함으로서 만들어진다.
         === NSIS 에서 uninstall.exe 만들기 ===
         ;레지스트리에 uninstall 프로그램 셋팅해주는 부분
         --[fnwinter] 형 고마워여~ NSIS 쓰는거 정리 할 필요가 있었는 데 , PS 이거 말고도 INNO SETUP 이라는 프로그램이 있거든요. 그것도 괜찮은데, 한번 써보세요~
  • PairProgramming . . . . 11 matches
         === 동문서버 프로그램 개발중 ===
         동문서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 한두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
         이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실한다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 문제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
         간단한 아날로그 시계를 만드는 프로그램이였다. MFC + CppUnit 로 작업했다.
          * Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠한 문제를 풀 것인가에 대한 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과한 것이 큰 문제였다. (그때 EnginneringTask 에 대한 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
          * On-Side Customer 와의 PairProgramming - 프로젝트 중간에 참여해서 걱정했었는데, 해당 일하시는 분과 직접 Pair를 하고 질문을 해 나가면서 전체 프로그램을 이해할 수 있었다. 특히 내가 ["BioInfomatics"] 에 대한 지식이 없었는데, 해당 도메인 전문가와의 Pair로서 서로 상호보완관계를 가질 수 있었다.
          * Junior 의 위치에서 바라본 학습 효과 - 이전에 상경이형이 채팅 프로그램 만드는 법을 직접 보여줬을때가 생각이 난다. (그때 '자. 15분동안 하나 만들어줄께~' 하면서 후다다닥 MFC로 서버/클라이언트 예제를 바로 보여주던 모습은 잊혀지지 않는다;) Junior 의 입장에서 Expert 행동 하나하나는 Check Point 이다. 좋은 습관과 프로그래밍 스타일, 디버깅하는 모습을 직접 눈으로 확인할 수 있었다.
         넷미팅, VNC 등의 개발 프로그램을 공유할 수 있는 프로그램과 음성채팅 등으로 Virtual PairProgramming을 할 수 있다. (오.. 좋아진 세상~) 단,PairProgramming 에 비해 아쉬운점들이 있다. (관련 책들을 찾아서 보여주지 못한다는 것 등등) 나중에는 PC카메라와 스캐너 등등 이용할 수 있지 않을까. ^^
  • PracticalC . . . . 11 matches
          === 주석 없는 프로그램의 문제점 ===
          2.프로그램을 유지,보수 하는 경우 프로그램을 이해하는데 많은 시간을 필요로 하므로
          프로그램을 수정하고 업그래이드하기가 어렵다.
          프로그램은 수필처럼 읽혀져야 한다. 즉 가능한 이해하기 쉬고 명쾌 해야한다.
          제목 : 프로그램의 이름과 하는 일에 관한 간략한 설명
          목적 : 이 프로그램을 만든 목적
          사용법 : 프로그램 작동법에 대한 간략한 설명
          참조 : 다른 프로그램을 참조했을 경우만
          파일형식 : 프로그램이 읽고 쓸 수 있는 파일과 파일형식을 간략히 설명
          제한 : 프로그램을 사용할때 제한범위를 설명(잘 모르겠음....)
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 11 matches
         WOW애드온 초성퀴즈를 만들기위함이기 때문에.
         === 첫 와우 Addon 만들기 ===
         기본 프로그램 정보를 담고있는 *.toc파일.
         Addon이 적재되면 해당 프로그램 전체가 올라간것이기 때문에 WOW 메모리에 할당이 되있다. 따라서 Addon에서 flag는 따로 메모리를 할당 받았다는 얘기. 따라서 전역 변수는 addon의 함수 어디서든 접근이 가능하단 소리가 된다.
         다음 : 채팅창과 lua파일을 연동해서 모든 메시지를 처리하는걸 보자.
         채팅에 관련해서..
         자 이제 채팅 메시지를 다 뽑아버려보자.
         이곳에 가면 커뮤니케이션 이벤트를 볼수 있는데 내가 이번에 대상으로 하는 이벤트는 채팅 관련으로 "파티","길드","일반","공격대"로 해당 Chat이 발생할때마다 날아오는 Event를 캣치해서 가져온다.
         이제 채팅창에 올라오는 모든 문자를 print해준다.
         여행갔다와서 다 까먹은다음에 하는 Addon만들기.
         다음에 할일 : 프로그램 시나리오 및 구성
  • 데블스캠프2005/금요일후기 . . . . 11 matches
         김민경 : 마지막날, 처음 테트리스 만들기, 그리고... 신기한 채팅만들기! ... 테트리스는 뭘해야할지 너무 막막했어요~ 채팅창만드는것도 마찬가지? 였지만 흥미로운 내용+ㅁ+ 내일 LT가 매우 걱정되요.ㅠ 이뿌듯함
         [상협] : 카드게임, 테트리스, 채팅 프로그램, 타자게임 프로그램을 짰다. 현태가 준비를 잘해왔던거 같고, 카드 게임은 재밌었고, 테트리스는 API를 넘 오래간만에 해서 감을 못잡음 ㅠㅜ, 채팅창 만드는것은 신기하고 재밌었다. 교훈은 프로그래밍을 너무 오랬동안 안해서 감을 많이 잃었다. 프로그래밍좀 해야겠다.
          의외로 원카드 만들기에 반응이 좋았다. 아마 생활속에서 쉽게 접할 수 있는 단순한 룰이어서가 아닐까?
          원카드 만들기는 실제로는 두사람이 서로다른 부분을 짜서 전체적인 시간을 줄이는 것이었는데, 대게 같이짜는 경우가 많았다. 그 점으로 미루어 볼때 설명이 잘 전달되지 않은것 같아서, 원하는 점을 명확히 알려줄 필요가 있다고 생각했다.
          또한 원카드 만들기에서 약간이나마 헤더파일을 많들어 주는 방법이 있었는데, 앞으로는 기본은 어느정도 헤더파일을 많들어 주는것이 좋을 듯 하다.
  • 데블스캠프2011/셋째날/후기 . . . . 11 matches
          * String Class를 만들고 java에서 상용하는 것과 같이 String의 함수들을 짜는 시간이었다. 처음 class의 생성자를 만드는데에만 시간을 거의 다 썼다. 생각과는 다르게 많이 어려웠다. 생성자를 만들고 한두개의 함수들을 만들자 시간이 끝낫다. 프로그램을 작성하는데 익숙해 질 때쯔음 끝나서 아쉬었다. 나중에 String class 를 완성시겨봐야겠다.
          * RUR-PLE로 이것 저것 만들기를 시켰는데.. 노가다를 시키네요. 재.미.있.었.습.니.다. 뒤에 이것 저것 만들게 하는 건 만들다 보니 상당히 코드가 더러워지네요 -ㅅ-;; 그래도 프로그램이 잘 돌아가서 좋았습니다. 이것 저것 쉬운 난이도로 많이도 준비 했네요.
          * python을 이용한 학습 프로그램이엇다. 로봇을 이용하여 beeper를 줍고 버리고 하며 여러가지 실습 프로그램을 하엿다. 교육용프로그램이라 쉬워보였는데 정작 프로그램을 짜는데 매 마음데로 되지 않아서 고생을 하엿다. rur-ple도 끝나갈 쯔음에 프로그매짜는거에 어느정도 적응이 되서어 미션을 수행할 수 있었다. 게다가 python은 그나마 익숙한 언어라서 재미 있었다.
          * 초보자를 위한 RUR-PLE. 우선 1년만에 다시 공부를 하는데 좀더 많은것을 알았지만 프로그램적으로는 나는 발전이 없었구나 생각하게되었습니다. 프로그램을 새로 짜는데 발전이 없었으니까요. 그리고 RUR-PLE을 두번째 했을때 느끼는것은 무조껀 즐기는것이 좋고 단순했으면 하는데 그렇게 안되서 참난해했습니다. 수강생들은 대부분 안들었던 사람들이지만 재학생이어서 난이도 높은걸 할까 생각했었지만 단순한 Harvest문제도 처음 하는 사람들과 비슷한 속도로 풀게 되었죠. 그 원인을 보게 되면 참 재미있죠. 처음에 단순하게 즐기는 초보자는 단순하게 문제를 풀고. 아는 사람들은 아는걸 최대한 이용해서 문제에 최적화 해서 낭비를 줄이려 합니다 그대신 오래걸리죠. 위의 이유로 같은 문제 풀이도 많은 분기가 나오는걸 볼수 있었죠. 시간 제한을 안둬서 그런가. 다음부터는 원할한 진행을 위해 시간제한을 둬봅시다. 마지막으로 RUR-PLE에 대한 감상으로 교육 환경을 만든 사람들은 참 대단하다고 다시한번 생각합니다. 봐도 봐도 재밌긴 하네요. 다음에 이걸 다시 하게 된다면 더욱 재미있게 해보았으면 좋겠습니다.
          * 약간 늦게 도착해서 초반 설명을 약간 듣지 못하고 짜게 되었네요. 이 프로그램이 파이썬을 배울 수 있는 용도로 짜여있다고 했는데, 명령어들은 NXT프로그래밍 명령어랑 정말 비슷했다고 생각했어요- (창설의 악몽이 되살아났다?) 간단한 설명을 듣고 1 주워담기를 위해 1을 놓아야하는데, 그게 귀찮아서(프로그래머적 '귀차니즘'면모 발현) 놓는걸 짜고 먹는걸 짰네요. 그 뒤에는 소트를 해야 했는데, 저는 한쪽으로 쭉 밀어 넣으면 좋겠다고 생각했으나.. 그건 소트라기보단 줄맞춤(?)에 가까운거였다고 하시더군요. 아무튼 치완이랑 제가 그걸 짜서 문상 GET! 끝나고나서는 미로도 짰는데 로봇녀석이 이미 방향이란걸 가지고 있다보니 C로 짠거보다 훨씬 쉽게 짰네요.
          * 정말로 난해한 프로그래밍 언어였다. 프로그램도 난해하고, 세미나도 난해하고,,, 절대로 프로그래밍 하고 싶어지지 않는 언어들 이었다. 종하가 설명한 언어중에 비펀지로 피보나치수열을 짜는 미션을 받았는데 어떻게 해도 하나의 스텍으로 피보나치 수열을 짤 수가 없었다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 11 matches
          * 프로그램은 어떻게 만들까?
          1. 문법에 맞춰 프로그램 로직 코딩
         2. "프로그램"이 무엇일까요? 자유롭게 설명해보세요.
         3. 나는 프로그램이 실행되고 CPU가 맨 먼저 호출하는 함수가 뭔지 안다! (O/X)
          * 새싹교실에서 컴퓨터는 무엇인가, 프로그램은 무엇인가, 프로그램은 어떻게 만드는가 등을 배우고 직접 코딩도 해보았다. C언어는 정말 흥미로웠다. 새싹 선생님이 알려주신 tryhaskell홈페이지에 들어가서 haskell이란 언어도 체험해봤는데 뭔가 C언어보다 고급 언어라는 느낌이 들었다(맞나....) 다음주에 배우게 될 것이 궁금하고 기대가 된다. - [송치완]
          * C언어 프로그래밍을 시작하기 위해 필요한 컴퓨터와 프로그램에 대한 지식을 공부하였다. C언어는 역시 멋진 언어인 것 같다. haskell을 해 보고 싶었는데 사이트가 이상했다 ㅠㅠ.. 프로그래밍 언어는 너무 많은 것 같다. 다 배우려고 하진 말아야지... - [장용운]
         상기 코드가 정상적으로 진행되었기 때문에 main함수는 0을 리턴하고 프로그램이 종료된다.
         프로그램은 여러 데이터를 가지고 사용자가 원하는 일을 수행하는 것입니다.
         콘솔 응용 프로그램에선 main()
         Win32 응용 프로그램에서는 APIENTRY WinMain()
  • 새싹교실/2012/AClass/3회차 . . . . 11 matches
         7.2차원 배열(4x4) 두개의 곱을 구하는 프로그램 작성.
         8.다음 형태로 출력되는 프로그램을 짜 보세요.
         10.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         7.2차원 배열(4x4) 두개의 곱을 구하는 프로그램 작성.
         8.다음 형태로 출력되는 프로그램을 짜 보세요.
         10.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         프로그램이 실행되는 동안에 할당해야 하는 메모리의 크기를 결정지을 수 있기 때문이다.
         8.2차원 배열(4x4) 두개의 곱을 구하는 프로그램 작성.
         9.다음 형태로 출력되는 프로그램을 짜 보세요.
         11.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         큐(Queue) : 프로그램 언어에서 보면 자료 구조의 한 형태로 순차 목록의 한 형태를 뜻합니다. 원소의 삽입은 뒤(rear)에서 이루어지고 삭제는 앞(front)에서 이루어지는 자료 구조를 뜻합니다. 메모리에 적용할 경우 큐는 선입선출 방식을 뜻합니다.
  • 새싹교실/2012/startLine . . . . 11 matches
          * 포인터의 개념, 프로그램 실행시 메모리의 구조.
          * 처음에 간단하게 재현, 성훈이의 함수에 대한 지식을 확인했다. 그 후에 swap 함수를 만들어 보고 실행시의 문제점에 대해서 이야기를 했다. 함수가 실제로 인자를 그대로 전달하지 않고 값을 복사한다는 것을 이야기 한 후에 포인터에 대한 이야기로 들어갔다. 개인적으로 새싹을 시작하기 전에 가장 고민했던 부분이 포인터를 어떤 타이밍에 넣는가였는데, 아무래도 call-by-value의 문제점에 대해서 이야기를 하면서 포인터를 꺼내는 것이 가장 효과적이지 않을까 싶다. 그 후에는 주로 그림을 통해서 프로그램 실행시 메모리 구조가 어떻게 되는지에 대해서 설명을 하고 포인터 변수를 통해 주소값을 넘기는 방법(call-by-reference)을 이야기했다. 그리고 malloc을 이용해서 메모리를 할당하는 것과 배열과 포인터의 관계에 대해서도 다루었다. 개인적인 느낌으로는 재현이는 약간 표현이 소극적인 것 같아서 정확히 어느 정도 내용을 이해했는지 알기가 어려운 느낌이 있다. 최대한 메모리 구조를 그림으로 알기 쉽게 표현했다고 생각하는데, 그래도 정확한 이해도를 알기 위해서는 연습문제 등이 필요하지 않을까 싶다. 성훈이는 C언어 자체 외에도 이런저런 부분에서 질문이 많았는데 아무래도 C언어 아래 부분쪽에 흥미가 좀 있는 것 같다. 그리고 아무래도 예제를 좀 더 구해야 하지 않을까 하는 생각이 든다. - [서민관]
          * 포인터의 기초와 포인터를 이용한 swap 함수 구현, 값 변환. 그리고 malloc의 형태 기초와 좀 더 쉽게 쓰는 법 익힘. 다음엔 malloc을 이용한 응용프로그램 구현을 해보고 싶다. - [최재현]
          * 포인터의 개념, 프로그램 실행시 메모리의 구조.
          * 정모 전에 두 시간, 정모 끝나고 두 시간이 걸린 정말 긴 새싹이었습니다. ;;;; 처음 계획으로는 재현이나 성훈이랑 비슷하게 구조체 문법과 사용에 대해서 간단하게 다룰 생각이었는데 환희가 왜 구조체가 필요한지에 대한 이야기를 하면서 이야기가 많이 다른 방향으로 흘러갔네요. 일단 구조체가 필요한 이유를 추상화의 관점에서 추상화 한 타입(구조체)과 타입에 관한 연산(함수)을 제공하기 위해서라고 말을 했는데 그래도 직접 피부에 와 닿았을지 어떨지는 좀 걱정입니다. 역시 이런 부분은 직접적으로 경험을 해 보지 않으면 안 될 것 같네요. 한 시스템(도서관 관리 프로그램이나 은행 시스템 등)을 재현이, 성훈이랑 셋이서 쪼개서 만들어 보게 하거나 하는 게 좀 괜찮지 않을까 싶습니다. 나중에 시켜봐야지. - [서민관]
          * 프로그램을 의미단위(함수)로 쪼개기.
          * 함수 만들기 실습(isPrime, isPalindromePrime 등).
          * 함수와 구조체 문법에 대한 복습과 '함수형 프로그래밍'에 대해서 다루었다. 복습은 시험이 끝나고 잊어버렸을 테니까 한 것이고 중요한 것은 뒤쪽에서 했던 함수형 프로그래밍 부분이다. 전체적인 내용은 프로그램을 의미단위(함수)로 쪼개는 의사코드를 적고 함수의 껍데기를 만든 후에 내용물을 채워 나가는 방식이었다. 개인적으로 내 새싹에서 꼭 다루고 싶었던 내용의 절반에 해당하는 부분이라 고민을 많이 했는데, 그래도 전하기는 잘 전한 것 같다. 다음으로는 가르쳐야 할 나머지 절반인 설계에 대한 실습을 좀 해 봐야 할 것 같다. - [서민관]
         === 과제 - 캘린더 만들기 ===
          * 전체적으로 제대로 완성하는 프로그램을 만들어 본다는 점에 의의가 있을 것 같습니다.
          * AccountArray와 관련된 함수들 만들기.
  • 새싹교실/2012/사과나무 . . . . 11 matches
         처음보는 운영체제라던가, 아직은 생소할 커맨드라인 프로그램 사용이라던가
          * 새싹교실 첫 수업이었다. 고한종 강사님이셨고 같이하는 팀원과는 같이못해 혼자듣게되었다. 선배님은 간담회때 처음뵜고 서정이누나는 뒤풀이때 처음봤다.새싹교실이라고해서 무거울줄 알았는데 내생각이 틀렸다. 아주 기본부터 차근차근 설명을해주셨고 문외한인 나에게 과제도주셨다. 더열심히 하라는 뜻인거같다.그리고 수업시간에는 간단한 사칙연산만 만들었는데 오늘 이차방정식을 푸는 프로그램을 만들어봤다. 도움을 받고 만든 프로그램이지만 다음엔 내가 스스로 만들어보고싶다. 앞으로 기대된다. - [김도익]
          * 반이 바뀐 첫날, '이소라 때리기 게임'을 직접 손으로 타이핑을 시키고, 이 프로그램에 쓰인 개념들을 가르쳤다. 작년 나와 비슷한 수준이라 더 열심히 가르쳐야 겠다는 생각이 들었다. 둘 다 현재 수준이 많이 낮다는 걸 알았다. 앞으로는 좀 더 쉽게 설명해야겠다. - [김성원]
          * 게임 프로그램 타이핑을 열심히 쳤다. 선생님께서 인내심이 좋으셔서 거북이 타자인 저를 잘 지켜보신 것 같다. 완전히 이해는 못 했지만 새로운 경험이 좋았고, 일단은 타이핑을 빨리치는 것이 급선무이다. 거부기 타이핑 개선하기!! - [김서정]
          * 오늘은 이소라때리기라는 게임을 했다. 새 강사님과 시작을 해서 어려울 줄 알았는데 정말 친절하게 가르쳐주셨다. 알고리즘대로 구동되는 프로그램이 신기했다. 지난시간보다 더 많은 예약어를 이용했고, rand()라는 것도 사용했다. 가장 신기했던 것은 k와 p를 아닌 다른 문자를 이용했을 대 default문장이 나와 k와 p를 누를 수 있게 유도해준 것이다. 지난시간과 달리 조금 더 긴 프로그램을 짜봤는데 만들어져가는 과정이 눈으로 확인되니까 조금 더 욕심을 내보고 싶다. 앞으로 2탄을 더 복잡하게 만들고 싶다. - [김도익]
          * 오늘은 제어문에 대해 배웠다. 지난시간에 했던 부분이지만 다시 공부하였다. 지난과제 구구단을 나눠서 출력하는 프로그램을 만드는데 \t 어떻게 써야할지 몰라서 많이 헤맸고,int k라는 개념도 생각을 하지 못해 나 스스로 만들지는 못했다. 변수를 2개만 해야한다는 고정관념을 버려야겠다. 오늘 배운점은 프로그램을 만들때 편협한 시각이 아닌 자유로운 생각으로 이것저것 생각하는 것이 너무나도 중요하다는 걸 보았다. 수학문제 풀이도 다양하듯이 프로그램도 마찬가지라고 생각한다. 한가지 주제에 대해 다양한 생각을 하는 연습을 해야겠다. - [김도익]
          3. 수업을 자주 듣는 것보다 프로그램을 혼자 짜보는 것이 나의 공부가 도니 것 같았다.
  • 안혁준 . . . . 11 matches
         == 혼자 만들었던 프로그램 ==
          * [http://blog.naver.com/qa22ahj/100108641726 화면 보호기 만들기]
          * [http://blog.naver.com/qa22ahj/100096122952 알송 리스트 자동 추가 프로그램]
          * [http://blog.naver.com/qa22ahj/100053223569 손님 관리 프로그램 ver.허접]
          * 다운로드 파일 자동 분류 프로그램
          * [http://blog.naver.com/qa22ahj/100104060487 리눅스 부팅용 usb 만들기(설정의 저장및 하드 접근 가능)]
          * [http://blog.naver.com/qa22ahj/100051706791 고군분투 키바꾸기 프로그램] <- 나름 유용했음
          * 웹게임 만들기(PHP, javascript, AJAX 기반)
          * [http://nforge.zeropage.org/projects/tachikoma 나만의 비서 프로그램 만들기](고등학교 때부터 시작했는데 아직도 손만 댄 수준.)
          * Java로 FPS + RPG 만들기.
  • 훌륭한프로그래머의딜레마 . . . . 11 matches
         우연치 않게 두 회사에 정확히 똑같은 내용의 주문이 들어왔다. "열나어려운문제" 해결을 위한 프로그램을 작성해 달라는 것이었다.
         열심히씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월의 마지막 날 매니져에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰슴다. 밤샘도 하고요. 제가 지금까지 작성한 프로그램은 2000줄입니다. 그런데, 새로운 문제가 기술적으로 불가피하게 발생했습니다. 복잡한 버그(프로그램의 오류)도 몇 가지 해결해야 하고요. 한 달 가량이 더 필요합니다." 그러고 한달 후 열심히씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 매니져와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미쳐 깎지 못한 수염, 무지무지 어렵고 복잡해 보이는 2500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡한 문제였군요. 정말 수고하셨습니다."라는 칭찬을 들으면서.
         훌륭한씨는 매니져가 "의무적으로" 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 매니져는 훌륭한씨가 월말이 되어서 "정말 죄송해요. 아직 한 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭한씨는 예의 "너무도 태연스러운" 모습으로 나타났다. 150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 "열나어려운문제"를 해결했다. 하지만, 매니져가 그 코드를 들여다 보자, 한마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 매니져와 고객은 이름을 "열나쉬운문제"로 바꾸는 데에 전적으로 동의한다. 훌륭한씨는 "이렇게 간단한 문제를 3개월 씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다.
         과거 IBM사에서는 프로그램의 줄 수에 따라 급여를 계산했었다. (사실 지금도 이런 회사가 상당수 있다) 그런데 프로그램 줄 수가 늘어날 수록 숨겨진 버그 수와 유지관리에 드는 비용은 기하 급수적으로 늘어나게 된다. 이 문제를 해결하기 위해 프로그램 줄 수는 더 늘어나게 되고, 덕분에 프로그래머는 돈을 더 벌게 된다.
  • AppletVSApplication/상욱 . . . . 10 matches
          자바는 두 가지 종류의 프로그램 형태를 가진다. 하나는 일반적인 응용 프로그램 즉, 애플리케이션(Application)이고 또 하나는 작은 프로그램
          애플릿은 왜 작은 프로그램으로 불릴까? 그것은 항상 웹 페이지 안에서 자바를 지원하는 웹 브라우저에 의해서만 실행되기 때문이다. 웹 페이지
         안에서 동적으로 사용자의 입력에 반응하거나 실시간으로 변화하는 다양한 자바 프로그램들은 모두 애플릿이며 자바로 만들어진 웹 브라우저인 핫
         자바를 포함하여 독자적으로 일반 프로그램과 같이 실행될 수 있는 자바 프로그램은 모두 자바 애플리케이션이다.
          자바 애플릿이란 HTML 페이지에 포함되어 자바 호환(java-compatible) 웹 브라우저에 의해 실행될 수 있는 된 자바 프로그램입니다. 자바 호환
         에서 독립적인 프로그램으로 실행되고, 자바 애플릿은 자바 호환 웹 브라우저에 의해 웹서버에서 다운로드되어 실행되는 것처럼 실행환경의 차이에
          - 애플릿이 실행되고 있는 클라이언트 컴퓨터 상의 어떤 프로그램도 실행할 수 없습니다.
  • CCNA/2013스터디 . . . . 10 matches
          || 7계층 || 응용 프로그램 계층 (Application Layer) || 응용 프로그램의 네트워크 서비스 ||
          || 6계층 || 표현 계층 (Presentation Layer) || 응용 프로그램을 위한 데이터 표현 ||
          || 응용 프로그램 계층 || OSI 계층 모델의 세션과 표현 계층 포함. 데이터의 표현, 인코딩, 제어 ||
          || 계층 모델이다 || TCP/IP의 응용 프로그램 계층은 OSI의 표현 계층과 세션 계층 포함 ||
          || 응용 프로그램 계층 || TCP/I{의 네트워크 액세스 계층은 OSI의 데이터 링크 계층과 물리 계층 포함 ||
          * 응용 프로그램에서의 세션의 수립/관리/해제 담당
          * 응용 프로그램에서 사용하는 데이터의 형식, 암호화, 압축 등을 담당
          * 응용 프로그램 계층
          * Web Browser와 같은 프로그램
  • PracticeNewProgrammingLanguage . . . . 10 matches
         즉!!! 이것만 해보면 이 언어로 프로젝트를 진행할 만하다 싶을 정도의 레벨을 만들기위한 프로그램 작성.
         2. 스트링 입력 : 사용자의 키보드 입력을 통해 문자열을 입력받아 다시 출력하는 프로그램을 작성하시오.
         3. 구구단 출력 : 입력으로 임의의 자연수를 입력받아 구구단을 출력할 수 있도록 프로그램을 작성하라.
         4. quick_sort : 임의의 데이터의 집합을 quick_sort 방식으로 소팅하는 프로그램을 작성하라.
         5. 파일 복사 : 임의 파일을 단순 복사하는 프로그램을 작성하시오.
         6. 스트링 검색 : 특정 텍스트 파일을 열고, 사용자가 입력한 스트링을 검색할 수 있는 프로그램을 작성하라.
         1. HelloWorld 소켓 : 소켓(유사한 기능)을 이용하여 프로그램내에서 지정된 문자열을 교환하는 서버, 클라이언트를 작성하시오.
         2. 쓰레드 생성 : 2개 이상의 쓰레드를 생성하여 동기화 문제를 해결한 1~500까지의 합을 구하는 프로그램을 작성하시오.
         5. 채팅 서버, 클라이언트 : 최소 10인 이상의 동시 접속을 유지할 수 있는 서버 및 클라이언트를 작성함.
  • RandomWalk2 . . . . 10 matches
         이 페이지에 있는 활동들은 프로그래밍과 디자인에 대해 생각해 볼 수 있는 교육 프로그램이다. 모든 활동을 끝내기까지 사람에 따라 하루에서 삼사일이 걸릴 수도 있다. 하지만 여기서 얻는 이득은 앞으로 몇 년도 넘게 지속될 것이다. 문제를 풀 때는 혼자서 하거나, 그게 어렵다면 둘이서 PairProgramming을 해도 좋다.
         ||. || . ||C ||["RandomWalk2/Vector로2차원동적배열만들기"] ||
         다음은 이상의 요구조건을 만족하는 프로그램 개발이 완료되었을 경우만 본다.
         대부분의 프로그래밍 문제나, 경시대회 문제는 한번 주어진 문제에 한번 대응하면 그걸로 끝난다. 하지만 현실은 그렇지 못하다. 한번 개발한 프로그램을 요구사항 추가/변경에 따라 몇 번이고 수정하고 다시 개발해야 할 때도 있다. 우리가 말하는 문제풀이 능력에는 이미 만든 프로그램을 유지보수하는 작업도 포함되어야 한다.
         교육에 있어 이런 작업이 중요한 이유 중 하나는, 자신이 만든 프로그램이 해답을 제대로 내느냐는 것을 확인하는 데에는 한 문제를 한번 푸는 것으로 족하지만, 거기서 코드의 디자인 질을 확인할 수가 없다는 문제가 있기 때문이다. 하지만, 요구사항 변경에 따라 자신이 개발한 프로그램을 다시 수정하게 되면, 이전에 만든 코드의 질에 따라 그 노력에 현격한 차이가 난다. 디자인 질이 높으면 아주 짧은 시간 안에 간단하게 요구사항 변화에 대응할 수 있을 것이고, 질이 낮았다면 장기간에 걸쳐 여기저기를 들쑤시고 골치를 썩혀야 할 것이다.
         내 프로그램을, 또 그 진화의 과정을 남에게 보여주고 의견을 들어보라.
         최초의 요구사항 제시 이후에 나온 변경사항들이 따라오지 않을 것이라 가정하고, 만약 이 RandomWalk2 문제를 다시 접했다면 어떻게 접근하겠는가. 어떤 과정을 거쳐서 어떤 프로그램을 개발하겠는가?
         다른 프로그램이 나오는가? 시간은 얼마나 덜/더 걸리는가? 디자인은 어떻게 달라졌는가?
  • ScheduledWalk/석천 . . . . 10 matches
         StructuredProgramming 기법으로 StepwiseRefinement 하였습니다. 문제를 TopDown 스타일로 계속 재정의하여 뼈대를 만든 다음, Depth First (트리에서 깊이 우선) 로 가장 작은 모듈들을 먼저 하나하나 구현해 나갔습니다. 중반부터는 UnitTest 코드를 삽입하기를 시도, 중후반부터는 UnitTest Code를 먼저 만들고 프로그램 코드를 나중에 작성하였습니다.
         === Version 0.1 - 프로그램의 가장 추상적 단계 ===
         말 그대로. 전형적인 '프로그램' 입니다. '입력을 받고, 처리해서 출력한다.' 라는;
         위까진 프로그램의 트리중 1차 레벨이겠고, 이를 조금씩 재정의해나갔습니다. 컴파일 에러는 거의 뭐 무시를..~ 어차피 뼈대이므로. 컴파일 에러나 무한루프 등이 문제가 발생하는 경우엔 일단 void 형으로 리턴값을 적거나 return false; 식으로 채워넣습니다. 일단은 뼈를 잡는게 더 중요하므로.
         이 답이 완벽한 답은 아니며, HIPO 이후 바로 프로그램 완성까지의 길에는 약간 거리가 있습니다. (왜냐. 이 Top-Down Design 의 결과가 완벽하다라고 말할수는 없으니까요. 하지만, 문제와 전반적 프로그램 디자인, 큰 밑그림을 그리고 이해하는데 도움을 줌에는 분명합니다. )
          // 일종의 Test Code. 프로그램이 완료되었다고 했을때 제가 원하는 상황입니다.
         그렇다면, 틀린 생각을 맞다라고 가정하고 만들어진 IsJourneyEnd 또한 틀린 함수가 되겠군요. 이를 수정하고, 해당 소스도 수정합니다. 그리고 계속 프로그램을 돌려봅니다. 그리고 Test Case를 추가합니다.
         ["RandomWalk2/TestCase"] 에서 멈췄다면 큰일날 뻔 했군요. 테스트는 자주 해줄수록 그 프로그램의 신용도를 높여줍니다. 일종의 Quality Assurance 라고 해야겠죠.
         음? 이런 계산이 이 프로그램 내에서 굉장히 많이 나오죠. 2차원 동적배열을 1차원 배열로 구현해줬기 때문에. 오호라..
  • 데블스캠프2009/월요일후기 . . . . 10 matches
          * [김준석] - 단순하지만 있을건 있는 프로그램. Easy, Enjoy라는 개념이 어울린다. 프로그래머가 아닌 일반인(유치원생)도 이런 프로그램을 사용해봄으로서 나와 같은 프로그래머의 입장이 되어 쉽게(Easy) 즐길수(Enjoy) 있는 기회를 준것이다. 내가 1학년때 송기원교수님이 한 말이 떠오른다 "언젠가는 일반인도 쉽게 만들수 있는 프로그램 언어가 나올꺼다. 전화 프로그램 만들고 싶으면 사람하고 사람 그림 두개 따서 전화기 그림을 가운데 놓고 연결하면 이게 전화 프로그램이 되는. 그럼 너희들은 뭐 먹고 살래? 사람들이 머리만 조금 굴리면 알아서 딱딱 만드는 세상이 될텐데 아이디어랑 생각이 중요한거야." 딱, 이거 아닌가? 물론 프로그램 언어의 현상황에서 프로그래밍에 업을 달고 사는 사람에게 쉽고 즐긴다는 말은 저기 저 먼 안드메다에 있는 개념만큼 멀게 느껴지지만 마지막에 송지원학우님이 얘기해주신것처럼 프로그래밍이 단순히 어렵고 복잡한것을 뜻하는것만이 아니라 새로운 아이디어로 생각해 그 시각으로 바라보는것으로 개발자의 입장이되는 우리도 더 쉽고 재밌게 즐길수 있을것이다. 그렇지만 기본은 먹고 살아야지.
          * '''서민관''' - 사실 09학번이 1학기 때 로보랩을 하지 않았더라면 월요일 수업 중에서 가장 괜찮은 수업이 되지 않았을까 싶다. 문자로 된 프로그램 언어를 시각적으로 접하게 하는 것이 목적인 것 같은데, 조작 또한 간단한 드래드 정도로 쉽게 할 수 있는 것도 굉장히 괜찮았다. 다만 몇몇 필요한 기능들이 없는 건지 못 찾은 건지 해서 괜찮은 물건을 만들지 못 한 것은 너무 안타까운 점이었다. 아. 정말 아쉽네요.
          * '''강소현''' - 프로그램이 잘 깔리지 않아서 가입만 한 점도 있고, 페어로 활동하는 데 모르는 점이 많아 속도를 따라잡지 못해 아쉬웠습니다. 새싹스터디의 연장선으로 수경언니한테 여러 가지를 배운 듯;;...음..그래도, 다른 사람이나 폴더를 공유하고, 무언가를 수정했을 때 바뀐 부분을 바로 파악할 수 있고, 이전의 내용으로 다시 돌아갈 수도 있다는 점이 앞으로도 쓰기에 무척 좋다고 생각해요. 그보다...코드레이스를 했었구나 ㅇㅁㅇ..<<응?! ...어쩐지 앞쪽이 활발했었어...
          * [김준석] - 과거 06년도 데블스 캠프때 서버 할당받아서 svn잠깐 써보고 그다음에 전혀 써보지않았던 svn... 다시쓰기가 난감 할정도는 아니었지만 까는거에서 에러나면 어떻게 하는거야? 뭐여튼 nForge로 할당받아서 프로젝트 하나하나 올리면 되겠는데 문제는 이게 제로페이지 공용이라서 과연 학생들이 학업중 팀프로젝트때도 쓸려나.. 사용법을 가르쳐주는것 만으로 충분하긴 한데.. Zeropage내의 프로젝트는 얼마 되지 않는데;; 외부프로젝트라도.. 몇개나 올라올지는 모르겠지만 일단봐야지. 한 4~5개만 나와도 엄청난 프로젝트 갯수를 채우는 거겠군.. 프로젝트 진행중 중요한건 여러명의 개발자가 사용한 프로그램이기에 주석과 구조 그리고 변수건 함수건간에 서로 알아보기 쉽게 암묵적인 규약이라도 있어야된다는거 하긴 혼자할때는 그런거 필요없지만 SVN을 통해 올리는 프로젝트는 그렇게 해야 참고하고 구경하러온 학우들에게 도움이 될테니까. 특별히 코드레이스는 엄청나게 신경쓰면서 열심히 해봤는데 마지막에 올릴때 그것의 미인증이 인터넷을 막는 바람에 못올린것에 전산센터는 좀 반성해야되! 그리고 아쉬운점은 코드레이스는 좀더 늦게하고 제로페이지에 참가한 학우들에게 알고리즘이나 객체, 구조 함수에대해서 좀더 알려주고 조금 더 생각할 문제를 풀었으면 재밌었을텐데.. 난 printf()만 나오는 그리는 문제에는 잼병이란 말이다! 그렇다고 머리를 잘쓰는건 아니지만. 뭐.. 그렇듯 코드로 짜는건 빠른 손가락만 움직이면 되지만 푸는건 머리라는 사실은 변함이 없다. 코드레이스때 특정함수를 쓰게해서 DBMS나 라이브러리 북을 찾아보는 연습하는것도 좋았을텐데... 뒤에서 원그리고 있는데 앞에서 로보코드하고있을때는 안습. 끝나고 포트2 강추.
          * [송지원] - svn은 주변 프로그램이 많아서 더 어려운것 같다. 얼핏 생각하면 tortoise SVN으로 충분해보이지만, nForge나 트랙, notifier, websvn 등이 함께해야 더 시너지 효과를 발휘한다. 코드레이스를 하면서 느낀 것은, 왜 진작 1학년 때에 이에 흥미를 느끼지 못했는지다. 내가 잘 못해서, 아무것도 몰라서 흥미를 느끼지 못했지만 사실 따지고 보면 그건 나의 문제다. 물론 코드레이스를 내가 하는거보다 새내기가 하는걸 보는게 더 재밌긴 하다 ㅋㅋ 역시 나는 뭔가를 하는 것보다 잔소리하는게 적성인듯.
  • 전시회 . . . . 10 matches
          * 출석 프로그램의 경우 이름순 정렬이 되지 않는다.
          * 3D지형 프로그램의 경우 지형의 끝에 도달할 경우에도 계속 전진이 가능하다.(좌표의 증가)
          * 이퀄라이져 프로그램의 경우 마이크를 끈 상태에도 이퀄라이져가 움직인다.
          * 화상 채팅 프로그램의 접속 불가.
          * 설명해주는 오퍼레이터가 프로그램을 잘 모른다. 프로그램 개발자가 직접 오면 좋지만, 그렇지 못한 경우 좀더 상세한 설명이 있으면 좋았을 듯 하다.
          * 3D지형 프로그램의 효과를 볼 수 있게 비교했으면 좋았을텐데...
          이름 자체가 fast인 만큼. 다른 프로그램보다 빠르다는 것을 비교해서 보여주면 좋겠죠 --[강희경]
          프로그램의 성능을 볼수가 없었죠 3.9기가 씨피유에 지포스2 에서 그 정도 화면이 끊긴다면 그게 더 이상한 ~_~ --[김홍선]
  • 조현태/놀이/네모로직풀기 . . . . 10 matches
          그냥 대신해줄 프로그램이 필요해서 만들기 시작..
          어느정도 완성상태, 대부분의 네모로직을 풀어 낼 수 있으나, 워낙 초창기에 만든 프로그램이라 문제가 많다.OTL
          언젠가 시간이 남게 된다면 재구성 할 생각이다... 이프로그램 때문에 중간고사를 날려먹은 아픈 경험이 있다.
         오 로직.. 중학교때 많이 하던건데.. 프로그램으로도 짤 수 있어?? --아영
          └지금 짜놓은 프로그램은 실행하면 스스로 로직을 푸는 프로그램이야. 이미 짰으니, 프로그램으로도 짤 수 있는 거겠지.^^ - [조현태]
          아! 문제가 있는걸 , 너가 프로그램으로 푼것이구나.. 이렇게 이용 할 수도 있구나.. 많이 배운다 현태! ㅋ - [허아영]
          └사람이 풀게하는 프로그램이야 많으니까.. 같은거 만들어도 별로 안멋지다고..ㅠ.ㅜ - [조현태]
  • 허아영/C코딩연습 . . . . 10 matches
         프로그램 입니다. **20051095 허아영**************************
         *프로그램입니다. [컴퓨터공학부 20051095 허아영] *
         직각 삼각형의 높이와 패턴모양을 입력받은 후 출력하는 프로그램입니다.
         두 숫자를 입력받은후 두 숫자 중에 큰 숫자를 출력하고, 두 숫자의 차를 구하는 프로그램입니다.
         * 차를 구하는 프로그램입니다.
         문제1. 로또 복권의 6자리 수를 랜덤하게 생성하데, 사용자가 발생 횟수를 선택할 수 있도록 하시오. 예를 들면, 초기 화면에서 사용자가 5를 입력하면 랜덤 수 6개를 5번 출력 하는데 출력 양식이 다음과 같도록 프로그램을 완성하시오.
         • 2 ∼ 9 까지의 구구단을 한 화면에 출력하는 프로그램을 작성하시오.
         • 포인터로 배열들의 요소를 지적하고 배열간의 자료교환을 하는 프로그램을 작성하시오.
         /*1에서 n까지의 곱을 구하는 프로그램입니다.
          printf("영대문자, 영소문자, 수치문자, 특수문자의 수 알아내는 프로그램n");
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 9 matches
          키보드로부터 입력이 발생했을 경우 윈도우즈는 포커스를 가진 프로그램에게 키보드 메시지(WM_CHAR)를 보내주며 프로그램은 이 메시지를 받아 키보드 입력을 처리한다. 여기서 포커스(Focus)를 가진 프로그램이란 활성화되어 있는 윈도우를 말하며 한번에 오직 하나의 프로그램만 활성화된다. 아무리 여러개의 프로그램이 동시에 실행되는 멀티 태스킹 환경이라 하더라도 활성화될 수 있는 프로그램은 오직 하나밖에 없으며 활성화된 프로그램만 포커스를 가지고 키보드 입력을 받아들일 수 있다. 왜냐하면 시스템에 키보드는 하나뿐이며 키보드를 사용할 수 있는 사용자도 하나뿐이기 때문이다.
          입력된 문자들을 바로 바로 출력하지 않고 반드시 문자열에 모아 두어야 하는 이유는 키보드 입력이 발생하는 시점과 문자열을 출력해야 할 시점이 분리되어 있기 때문이다. 키보드 입력 시점은 키보드 메시지인 WM_CHAR가 발생했을 때이며 이 메시지에서 문자열을 조립하기만 하고 문자열의 출력은 WM_PAINT에서 처리한다. 물론 WM_CHAR 메시지에서 문자열을 바로 바로 출력하는 것도 가능하기는 하지만 윈도우즈 프로그램은 화면을 다시 그릴 준비를 항상 해 두어야 하며 모든 출력은 WM_PAINT에서 하도록 되어 있다. 그렇지 않으면 출력된 문자들이 지워지면 다시 복구되지 않는다.
         윈도우즈와 같은 GUI운영체제에서는 키보드보다 마우스가 더 많이 사용된다. 윈도우즈의 공식 입력 장치는 키보드이지만 그래픽 툴이나 DTP, CAD 등의 복잡한 프로그램에서는 마우스가 주요 입력 장치로 사용된다. 키보드 입력 처리를 메시지로 하는 것과 마찬가지로 마우스 입력 처리도 메시지를 받아 처리한다. 마우스 입력에 관한 메시지는 다음과 같은 종류가 있다.
  • JAVAStudy_2002 . . . . 9 matches
         목표: JAVA를 이용, 다중 Chattiing 프로그램을 작성한다. [[BR]]
          *1:1채팅 프로그램을 가지고 예제를 완전 분석한다.
          *한달간 목표로하는 다중 채팅 프로그램을 작성한다.
          *대기실 UI이 만듬 UI만들기 진짜 싫다. --; (http://zeropage.org/~woodpage)
          *나름대로 채팅을 다짰음 ^^;; 열라 허접 ~~ --;
          *테스트를 하려면 채팅서버를 켜야함
          *[http://zeropage.org/~woodpage/pds/채팅.zip 소스]
  • MoreMFC . . . . 9 matches
         언제나 그렇듯, Window programming을 할때 처음 등장하는 예제는. Hello~ 시리즈다. 그 source를 통해 MFC프로그램에 첫발을 디딜것이며.. 요책에 나온 윈도우의 이모저모에 관해 설명할것이다. 뭐 .. 대충대충 해나갈 것이지만.. 그럼.. windows programming의 세계로. gogogo -- v [[BR]][[BR]]
         dos 시절의 절차식 프로그램의 습관에 젖은 프로그래머를 위해 이책도 역시 아주잘 윈도우 프로그래밍이 어떻게 다른지 설명해 준다. 그러나, 그걸 다시 다 설명할 필요는 없고.. 떡하니 그림 한장이면 다 설명 될것 같다. 그럼.. image! [[BR]]
          // WM_QUIT message가 발생하면 GetMessage가 0을 반환하여 프로그램 종료.
         // 프로그램을 초기화 할수 있는 가장 적절한 장소. --a
         떡하니 source를 보면 어떻게 돌아가는 거야.. --; 라는 생각이 든다.. 나도 잘모른다. 그런데 가장 중요한것은 global영역에 myApp라는 변수가 선언되어 있다는 사실이다. myApp 라는 instance가 이 프로그램의 instance이다. --a (최초의 프로그램으로 인스턴스화..) 그리고, CWinApp를 상속한 CMyApp에 있는 유일한 함수 initInstance 에서 실제 window를 만들어준다.(InitInstance함수는 응용 프로그램이 처음 생길 때, 곡 window가 생성되기전, 응용 프로그램이 시작한 바로 다음에 호출된다) 이 부분에서 CMainWindow의 instance를 만들어 멤버 변수인 m_pMainWnd로 pointing한다. 이제 window는 생성 되었다. 그렇지만, 기억해야 할 것이 아직 window는 보이지 않는다는 사실이다. 그래서, CMainWindow의 pointer(m_pMainWindow)를 통해서 ShowWindow와 UpdateWindow를 호출해 준다. 그리고 TRUE를 return 함으로써 다음 작업으로 진행 할 수 있게 해준다.... 흘. 영서라 뭔소린지 하나도 모르겠네~ 캬캬.. ''' to be continue..'''[[BR]]
         그리고, 그 다음으로 진행되는 것이. CMainWindow에 있는 OnPaint라는 함수. window의 client 영역에 무언가를 그리는 함수가 호출된다. (그 전에 이것 저것 많이 있겠지만... 뭐 매크로를 통해 messagemap 관련 entry라던지.. 이런것들을 선언해 주는 작업.. --a) 그래서, DrawText를 이용해 화면 중앙에 "Hello, MFC"를 그린다. 그러면 이 프로그램의 기능(?)은 끝이다.[[BR]]
  • PatternOrientedSoftwareArchitecture . . . . 9 matches
          * 이렇게 레이어로 깨끗이 나누어서 프로그램을 짜면 팀으로 작업을 할때 좀더 능률적이다.
          * Scenario3 - 레이어 N-1이 cache로 작용하여서, 레이어 N의 요청이 레이어 N-1에게만 전달되고 더이상 하위 레이어로 전달되지 않는다. 요청을 보내기만 하는 레이어들이 상태가 없는(stateless) 반면에 이러한 cache 레이어는 상태 정보를 유지한다. 상태가 없는 레이어들은 프로그램을 간단하게 한다는 이점이 있다.
          * 당산의 추상적인 기준에 따라서 추상 레벨들의 갯수를 정하여라. trade-off를 생각해보면서 레이어를 통합하거나 분리해라. 너무 많은 레이어는 프로그램에 과중한 부담이 되고, 너무 적은 레이어는 구조적으로 좋지 않게 된다.
          * 레이어의 재활용 - 프로그래머들은 현재 존재하는 레이어가 자신의 목적에 맞지 낳는다고 이미 있는것을 재사용 하기보다는 새로 짜는 경우가 많다. 그러나 현재 존재하는 레이어를 재사용(black-box reuse)하는 것은 개발에 드는 노력과 프로그램의 결점들을 극적으로 감소 시킬 수 있다.
          * 예제 : 여기서는 음성인식 시스템을 예로 들었다. 음성인식 프로그램은 단지 하나의 단어를 받아들일 뿐만 아니라 구문과 단어가 특정한 application에 필요한 단어나 구문론에 맞는 것으로 제한된 문장 전체를 받아 들인다. 원하는 output은 그 음성 인식한것에 맞는 기계적인 표현으로 바꾸는 것인데 이 변환 과정에는 음성을 음파적으로 인식하는 것과, 언어학적인 면에서 인식하는것과, 통계적인 전문성에서 인식하는 것이 필요하다.
          * 해결책(solution) : Blackboard 구조의 바탕에 깔린 개념은 공동의 데이터 구조에 대해서 협동적으로 작동하는 독립된 프로그램들의 집합이다. 그 독립적인 프로그램들은 서로 다른 프로그램을 호출하지 않고 또한 그것의 행동에 대해 미리 정의된 순서는 없다. 대신에 시스템의 방향은 주로 현재의 상태나 진행(progress)에 의해 결정된다. 데이터-관리 조종 체계(data-directed control regime)는 opportunistic problem solving 이라고도 불린다. moderator(중재자) component는 만약 하나 이상의 component가 contribution을 만들수 있다면 프로그램들이 실행되는 순서를 결정한다.
  • ProjectZephyrus/ClientJourney . . . . 9 matches
         ["프로그램내에서의주석"]
          * 학교에서의 작업의 단점중 하나는 고정된 장소와 고정된 스케줄을 만들기가 쉽지 않다는 점이다. 학교시간표 보고 빈 시간대를 맞춰야 하고, 그 사람은 또 그 사람 나름대로의 스케줄이 따로 존재한다. 시험이라던지, 동아리 활동이라던지 등등. 이 경우 팀원별 스케줄을 보고 팀내 기여도를 예상한다음 그 기여도를 줄여주도록 해야 서로가 부담이 적을 것이다. 단, 위에서 언급한대로 개발중 지속적인 학습과정이 있는 이상, 중간 참여는 그만큼 어렵게 된다. CVS가 있을 경우 해당 코드의 변화를 지속적으로 관찰해나가야 하며, 외부에 있는 사람은 내부 작업자에게 필요에 따라 해당 문서를 요구해야 한다. (내부 작업자가 어떤 욕을 하건 -_-; 나중에 다시 참여시의 리스크를 줄이려면) 내부 작업자는 그 변화과정을 계속 기록을 남겨야 할 것이다. (Configuration Management 가 되겠지.)
          * 이번 프로젝트의 목적은 Java Study + Team Project 경험이라고 보아야 할 것이다. 아쉽게도 처음에 공부할 것을 목적으로 이 팀을 제안한 사람들은 자신의 목적과 팀의 목적을 일치시키지 못했고, 이는 개인의 스케줄관리의 우선순위 정의 실패 (라고 생각한다. 팀 입장에선. 개인의 경우야 우선순위들이 다를테니 할말없지만, 그로 인한 손실에 대해서 아쉬워할정도라면 개인의 실패와도 연결을 시켜야겠지)로 이어졌다고 본다. (왜 초반 제안자들보다 후반 참여자들이 더 열심히 뛰었을까) 한편, 선배의 입장으로선 팀의 목적인 개개인의 실력향상부분을 간과하고 혼자서 너무 많이 진행했다는 점에선 또 개인의 목적과 팀의 목적의 불일치로서 이 또한 실패이다. 완성된 프로그램만이 중요한건 아닐것이다. (하지만, 나의 경우 Java Study 와 Team Project 경험 향상도 내 목적중 하나가 되므로, 내 기여도를 올리는 것은 나에게 이익이다. Team Project 경험을 위해 PairProgramming를 했고, 대화를 위한 모델링을 했으며, CVS에 commit 을 했고, 중간에 바쁜 사람들의 스케줄을 뺐다.) 암튼, 스스로 한 만큼 얻어간다. Good Pattern 이건 Anti Pattern 이건.
         (그 이후 창섭이가 와서 영서에게 JTree관련 Solo Programming 을 시켰는데, 말이 안되는 프로그래밍을 했다. -_-; 아직 영서가 Swing 에 익숙하지 않아서 그런데, 앞의 프로그램은 어떻게 만들어졌을까 의문이 들 정도였다; 아마 5분 간격 플밍시에는 서로 앞 사람 소스작성을 한 것을 기준으로 붙여나가는 방식이기에 그 흐름을 잡고 프로그래밍을 해서 Pair 가 성립이 가능했던것 같다는 생각도 해본다. 이는 처음 프로그래밍을 하는 사람과의 PairProgramming 시 궁리해봐야 할 사항인듯)
         Client 팀은 일단 메신저와 관련한 자신들의 디자인을 설명해보는 시간을 가졌다. 사람들은 프로그래밍을 하기 전에 어떤 스타일로 구상을 하게 될까. Agile Modeling 에서 봤던가. 모델 보다는 모델링이 중요하다고 했었던 이야기. 모델링을 해 나가면서 자신의 생각을 정리하고, 프로그램을 이해해 나가는 것이 중요하기에.[[BR]]
         1002의 경우 UML을 공부한 관계로, 좀 더 구조적으로 서술 할 수 있었던 것 같다. 설명을 위해 Conceptual Model 수준의 Class Diagram 과 Sequence, 그리고 거기에 Agile Modeling 에서 잠깐 봤었던 UI 에 따른 페이지 전환 관계에 대한 그림을 하나 더 그려서 설명했다. 하나의 프로그램에 대해 여러 각도에서 바라보는 것이 프로그램을 이해하는데 더 편했던 것 같다. [[BR]]
         창섭이는 프로그램의 작동 원리에 대한 자세한 시나리오를 써서 설명을 했다. 영서가 '아. 머릿속으로는 대강 구상을 했는데, 잘 정리가 안돼요' 라고 했다. 머리로만 생각해본 것과 글이나 도표로 한번 정리를 해본 것의 차이가 크다는 것을 느꼈겠지.
         대학교들어와서 그정도로 열심히(?)공부한적은 별루 없었던거같다.. 그날 이얘기를 들은 1002형은 놀란표정이었지만 사실 그랬다.. 그러니깐 학점이 그렇게 나왔겠지.. -_-;; 암튼 일주일전에 봤던 자바 기본개념을 바탕으로 남들 다 해본 스윙 기본틀이나 메뉴같은걸 작성해봤다.. 아참 그전에 CVS사용법을 배우고, Architecture와 Design에 대해서도 들었다.. 신기하다.. 무슨 도면같았다.. 이제서야 느낀거지만 프로그램에 코딩이 차지하는비중은 1/2도 안되는구나라는걸 느꼈다.. (이제서야? --;;) 여지껏 놀은시간이 너무 아까웠다.. -_-;; --영서
  • TeachYourselfProgrammingInTenYears . . . . 9 matches
         배운다:3일간에서는, 의미가 있는 프로그램을 얼마든지 쓰거나 그 과정에서의 성공이나 실패로부터 배우는 시간 등 짝이 없다.경험을 쌓은 프로그래머와 함께 작업을 실시해, 그러한 환경안에서의 생활이 어떤 것인가를 이해하는 얼마 되지 않다.빠른 이야기, 대단한 일을 배울 시간이 없다고 하는 것이다.따라서 그러한 서적은, 외관만 정통하는 것에 대하여 말할 뿐으로, 깊은 이해에는 연결되지 않는다.알렉산더제가 말한 것처럼, 서투른 병법은 상처의 원이다.
         Pascal:3일간으로, Pascal 의 문법을 배우는 것은 가능할지도 모르는(유사한 언어를 이미 알고 있으면)가, 그 문법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 문법을 이용한 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대한 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때문에), 기존의 툴을 사용할 필요가 있기 때문일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
         다른 프로그래머와 이야기를 해, 타인의 프로그램을 읽는 것.이것은 어떠한 서적이나 트레이닝·코스보다 중요한 일이다.
         프로그램을 쓰는 것.학습하는 최고의 방법은,실천에 의한 학습이다.보다 기술적으로 표현한다면, 「특정 영역에 있어 개인이 최대한의 퍼포먼스를 발휘하는 것은, 장기에 걸치는 경험이 있으면 자동적으로 실현된다고 하는 것이 아니고, 매우 경험을 쌓은 사람이어도, 향상하자고 하는 진지한 노력이 있기 때문에, 퍼포먼스는 늘어날 수 있다」(p. 366) 것이며, 「가장 효과적인 학습에 필요한 것은, 그 특정의 개인에게 있어 적당히 어렵고, 유익한 피드백이 있어, 게다가 반복하거나 잘못을 정정하거나 할 기회가 있는, 명확한 작업이다」(p. 20-21)의다(역주3).Cambridge University Press 로부터 나와 있는 J. Lave 의「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(역주4)라고 하는 책은, 이 관점에 대한 흥미로운 참고 문헌이다.
         다른 프로그래머가 일을 끝낸후의프로젝트에 임하는 것.사람이 쓴 프로그램의 이해에 열중하는 것.원래의 코드를 쓴 프로그래머가 근처에 없는 경우, 그 프로그램을 이해하거나 고치거나 하려면 무엇이 필요한가 생각하는 것.당신의 프로그램을, 다음에 다른 사람이 메인트넌스 하기 쉽게 하려면 어떻게 디자인하면 좋은가 생각하는 것.
         적어도 반다스의 프로그램 언어를 배우는 것.그 중의 하나는 클래스 추상을 서포트하는 것(예를 들면 Java 나 C++), 하나는 함수 추상을 서포트하는 것(예를 들면 Lisp 나 ML), 하나는 구문 추상을 서포트하는 것(예를 들면 Lisp), 하나는 선언적 기술을 서포트하는 것(예를 들면 Prolog 나 C++ 템플릿), 하나는 coroutine 를 서포트하는 것(Icon 나 Scheme), 그리고 하나는 병렬처리를 서포트하는 것(예를 들면 Sisal)인 것.
         언어 표준화의 시도에 참가하는 것.ANSI C++ 위원회라면 그것이 생길 것이고, 가족에서의 코딩·스타일에 대해, 인덴트의 공백을 2 문자로 할까 4 문자로 하는가 한 레벨에서도, 결정하게 될 수 있다.어쨌건 간에, 다른 사람이 프로그램 언어의 어떤 곳을 좋아하는가, 얼마나 깊고 좋아하는가, 그리고 아마, 왜 그렇게 좋아하는가는 일도 조금, 배우게 된다.
  • ZeroPage . . . . 9 matches
          * 프로그램 전시회 - 미실시
          * 1회 프로그램 전시회
          * 2002 1회 [http://www.natepda.com/popup/winner.htm SK 모바일 프로그램 경진대회 대상 수상] ([\"erunc0\"])
          * 1994 삼성전자 번들용 영어 교육 프로그램
          * 1993 비디오 도매상 관리 프로그램, '작은마녀' 게임 프로그램
          * 1992 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
  • 정모/2011.4.4 . . . . 9 matches
          * [김수경]의 더 나은 프로젝트 만들기
          * 이번 코드 레이스에서 제한된 시간 안에 두 사람이서 계속 바꾸어 가면서 코드를 짜는 것을 해 보니.. 역시나 난 허접한 실력이구나 라는걸 실감했고 -_-; 무엇보다 자신의 생각을 다른 사람에게 정확하게 전달한다는 것이 역시나 쉬운일은 아니라는 것도 느꼈습니다. 더 나은 프로젝트 만들기에서는 역시 사람이 미래다면서 돈 안되는 학과를 없애는 두산... (이게 아니잖아 -ㅅ-) 사람이 중요하다는 것을 새삼 느꼈는데, 서로를 잘 이해하려고 노력해야겠습니다. - [권순의]
          1. 작년에 프로젝트를 진행하면서 Agile 프로세스를 도입하고 싶었는데 생소한 개념에 대해 생소한 용어로 설명하다 팀원들의 관심을 얻지 못한 경험이 있습니다. 그래서 OMS를 준비하며 Agile이라는 말도 하지 말고 Agile을 소개해보자!! 하는 생각에 '더 나은 프로젝트 만들기'라고 주제를 잡았습니다. 용어를 하나도 사용하지 않으려다보니 이번엔 너무 붕 뜨게 설명하게 된 것이 아쉬운 점입니다. 제가 Agile에 대해 정말 잘 안다면 어떠한 용어를 사용하지 않고도 쉽게 설명할 수 있었을텐데 그렇지 못한 것이 안타깝네요.
          1. 지나고 나서 생각해보니 '더 나은 프로젝트 만들기' 보다 '프로젝트를 엉망진창으로 만들기'라고 주제를 정했으면 더 좋았을텐데 싶어요.
          * 페어 프로그래밍을 하기 때문에 생산성이 높아지고 속도가 빨라진다는 점은 동의합니다. 하지만 페어 프로그래밍의 더 큰 장점은 속도보다는 프로그램의 완성도라고 생각했습니다. 빨리 짜는게 최우선이었던 이번 코드레이스가 속도의 향상을 보여준 시간이었다면, 다음 페어 프로그래밍은 프로그램의 설계 혹은 완성도가 향상됨을 더 느끼게 해주면 좋겠다는 의미였습니다. - [Enoch]
          * 이번 정모에는 조금 다른 아이스 브레이킹 방법을 시도해보았습니다. 간단하게 하는 방법이 더 좋은 것 같아요. 수경의 "더 좋은 프로그램 만들기"도 좋았어요! 작년에 공모전 팀에서 애자일애자일 하며 밀어 붙인 것과 많이 비교되네요ㅠ 깔끔하고 명확해서 좋았습니다. 코드레이스도 처음 해봤는데 즐겁네요. 상 못타서 아쉽지만, 다들 코드를 보니 비슷비슷하네요ㅠ 메인에 다닥다닥 붙은것이. 메인에 쑤셔넣기가 참 괴로웠는데 정말 좋은 구조의 코드를 짜고싶었다면 시간을 포기하고라도 구조를 고려해서 짰겠죠.. 좋은 인사이트를 얻었습니다. 속도를 위해서라는 핑계는 말그대로 핑계인듯. 중요한 것은 대체하면 안된다는 것을 항상 잊지 말아야 겠습니다. - [서지혜]
  • 1thPCinCAUCSE . . . . 8 matches
          * 문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다. 2002년도 문제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM문제샘플풀이"] 참조)
          * 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 문제가 됩니다.
          * 프로그램 작성시 유의 사항:
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
         아쉬운 점이라면, 국내 대학생 프로그램 경진 대회와 acm의 icpc를 모델로 하는 듯 한데, 그렇다면 사용언어와 플랫폼 역시 좀 선택의 폭 을 넓게 해주는 게 좋지 않을까 하군요.
         수학 경진 대회건, 프로그래밍 경진 대회건 그걸 준비하는 사람들은 매일 비슷비슷한 유형의 문제들만 "최단시간내에" 풀어제끼는 훈련을 하고, 덕분에 어떤 해답 집합을 미리 외우고 있 습니다. 알고리즘 X하면 바로 무의식적으로 손 끝에서 해당 알고리즘을 구현한 모범 답안이 튀어나오게 자신이 프로그램 되어 있죠. 다 좋습니다만, 모든 사람이 그렇게 훈련받을 필요는 없지 않을까요?
         C/C++(VC++6.0)만 사용할 수 있는 상황에서는 ["STL"]을 사용하냐 안하냐가 엄청난 차이를 불러올 것이라 생각한다. 그리고 팀이 두명이냐 세명이냐도 중요하긴 할 터인데, 어떻게 조직적으로 잘 활용하느냐에 따라 차이가 있기도 하고 별로 없기도 할 것이다. 또한 자가 테스트를 통해 어느 정도 검증된 프로그램만 제출을 할 수 있다면 페널티를 줄일 수 있기 때문에 훨씬 유리할 것이다.
         또한 모든 문제에 대해 출제자가 예상하는 해답이 있을 것이고, 올바르게 작동은 하지만 수행시간이 훨씬 더 걸리는(알고리즘의 컴플렉시티가 훨씬 높은) 답안이 있을 터인데, "일정시간" 내에 수행이 완료될 수 있다면 더 단순한 답안을 고를 수 있는 능력도 아주 중요할 것이다. 예컨대, 이번 대회의 예제 문제 B번(http://cs.kaist.ac.kr/~acmicpc/B_word.pdf ) 경우, (아마도) 출제자가 예상하는 답안의 실행 시간이나, 혹은 그렇지는 않지만(꽤 무식한 방법을 쓰지만) 올바르게 작동하는 답안의 실행 시간이나 모두 1초 이내이다. 후자의 방법을 생각해 내고, 프로그램 하는 데에는 보통 전산학과 학생이라면(그리고 그가 ["STL"], 특히 Permutation Generator를 다룰 수 있다면) 5분이면 떡을 치고도 남는다.
  • 5인용C++스터디/다이얼로그박스 . . . . 8 matches
          1-1 Visual Stdio Microsoft Visual C++ 프로그램을 실행 시킨다
          이 부분에서 사용자가 선택하고 싶은 것을 선택을 한다. 이 Test프로그램은 Dialog based를
         대부분의 대화상자는 modal이다. modal 대화상자는 부모 프로그램이 계속 실행되기 위해서 사용자의 응답을 기다린다. 이 말은 modal 대화상자는 사용자의 입력 확인 없이 부모 프로그램의 어떤 부분도 동작시킬 수 없다. modaless 대화상자는 부모 프로그램의 실행을 막지 않는다. 이것은 다른 부분의 프로그램의 실행을 대화장자가 막지 않는다는 것이다.
         modal dialog의 예를 들면 프로그램에서 파일을 저장할 때 화면에 뜨는 Dialog를 들 수 있다.
         즉 modal dialog는 그 dialog가 닫혀지기 전에는 부모 윈도우로 마우스를 이용한 focus이동을 할 수 없다. 따라서, dialog를 닫지 않는 이상 main window프로그램을 이용할 수 없다.
  • Ant . . . . 8 matches
         Platform 독립적인 Java 의 프로그램 컴파일, 배포 도구 이다. 비슷한 역할로 Unix의 make 툴과 Windows에서 프로그램 Installer 를 생각할수 있다.
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대한 질문이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재한다. 윈도우 쉘 또한 복잡하긴 매한가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각한다.(즉, 쉘 프로그램을 배워야 한다는 의미이다.)
         Ant 는 OS Indepenent 하게 프로그램을 Build 할 수 있는 환경을 제공해준다. build.xml 이란 Build 파일을 작성해서 그 내용에 따라 Build 를 진행해 나갈 수 있다. Ant 는 ["Java"] 에서 거의 표준으로 굳혀져가고 있으며, 거의 모든 IDE들이 Ant 를 지원한다.
          실행 파일 ant는 Unix 계열에서는 shell 스크립트로 Windows 계열에서는 ant.bat 라는 배치파일로 배포됩니다. 내부에 보면 java 프로그램을 실행하는데, 다음과 같이 자신이 직접할 수도 있습니다.
  • Gnutella-MoreFree . . . . 8 matches
         대부분의 P2P 프로그램들이 누텔라의 방법을 기본으로 작성 되었으며 지금의 유동적
         읽은 적이 있다. 이 때 되면 보다 획기적인 P2P 프로그램이 나올 것으로 보인다.
          기존의 Gnutella가 다른 프로그램(BearShare) 에 의해 서비스 되면서
          Compile / Execute 가능한 Code를 손에 얻을 수 있는 프로그램이다. 물론
          보다 좋은 프로그램으로 변형할 수 있을 것 같다.
          이런 이유로 다른 몇몇 Gnutella 프로그램도 Gnucleus를 기반으로 작성 되어졌다.
         http://www.gnucleus.com/ (Gnucleus 프로그램)
         http://www.sourceforge.net/ (Gnutella Clone 프로그램)
  • Linux/필수명령어/용법 . . . . 8 matches
         프로그램을 지금이 아닌 나중에 실행하도록 예약한다.
         : 실행될 프로그램들과 스케줄의 cron 데몬을 구성한다.
         : 디렉토리를 새로 만들기 위해 mkdir 명령을 사용한다.
         프로그램이 수행되는 시간을 측정한다.
         등록된 path를 통해서 특정 프로그램을 찾는다.
         - which 프로그램
         만일 사용자의 path가 매우 긴 경우에 유용하게 사용될 수 있다. find와 유사한 기능이지만 path안에 있는 프로그램을 찾을 때 간단하게 사용된다.
         지정된 path 안에서 tetries 프로그램을 찾는다.
  • MoreEffectiveC++/Techniques1of3 . . . . 8 matches
         '''첫번째'''로 만들어지는 객체의 위치이다. 위의 제시된 두가지의 방법에서, Printer 정적(staitc) 객체가 하나는 friend로 클래스의 제어권을 획득한 함수 내부에 있고, 또 하나는 클래스 멤버 메소드 내부에 있다. 함수에 있는 경우에는 정적(static) 객체는 항상 만들어져 있다. 이 의미는 해당 코드의 프로그램이 시작될때 부터 아예 객체가 만들어 진다는 의미이다. 즉, 한번도 그 객체를 사용하지 않아도, 객체는 이미 만들어져 비용을 지출하게 한다. 반면에, 함수 멤버 메소드 내부에 정적(static)객체를 만들 후자의 경우에는 객체를 만드는 역할을 하는 메소드인 Printer::thePrinter 가 제일 처음 호출될때 객체가 생성된다. 이것은 C++에서 "사용하지 않는 객체에 대한 비용은 지불하지 않는다."의 설계 다소 복잡한 이념에 근간을 둔 개념이다. 그리고 이러한 복잡한 개념은 당신을 해깔리게 만든다.
         이렇게 생성자가 사역(private)인자로 들어가 버리면, 해당 클래스에서 유도되는 클래스를 만들기란 불가능 하다. 하지만 이 코드의 문제점은 makeFSA를 이용해 생성하면 항상 delete를 해주어야 한다는 점이다. 이전 예외를 다루는 부분에서도 언급했지만, 이는 자원이 세나갈 여지를 남기는 것이다. 이를 위한 STL의 auto_ptr도 참고하자.(Item 9 참고)
         이제, 단일한 객체 만들기 방법에 관한 디자인 방법은 알수 있을 것이다. 그리고, 객체를 숫자로 제어하는 것은 세가지의 생성 상황에 의해서 폭잡한 상황을 만들어 나간다는 것을 알것이다. 이것을 위해서 생성자의 사역(private)역시 설명했다. 캡슐화된 thePrinter함수는 Printer라는 단일한 객체를 제한하고, 그것을 사용할수 있게 한다. thePrinter가 대안일까. 하지만 결국 thePrinter는 C++의 일반적인 방법인 이러한 디자인의 코드를 불가능하게 한다.
         이런 디자인은 단일 Printer객체에 관해서 행하여 질수는 없다. 하지만 서로 다른 프로그램의 서로 다른 부분에서 Printer객체는 이렇게 사용되어 질수 있다. 이것 역시 허용하지 못하게하는 것까지는 필요 없을것 같은데, 아무튼 오직 하나의 프린터 객체만 유지 시킨다는 것에는 벗어나지는 않는 거다. 하지만 여기에 우리가 해왔던 object-counting방법과, 일찍이 쓴 가짜 생성자(pseudo-constructor)를 혼합해서 기능을 구현해 본다.
         절망하고 있는가? 그럼 한번 임시로나마 이식성이 떨어지는 영역에서까지 그런 아이디어를 확장해서 생각해 보자. 예를 들어서 많은 시스템 상에서 사실인, 프로그램의 주소 공간은 선형으로 배열되고, 프로그램의 스텍은 위에서 아래로 늘어 난다고 그리고 Heap영역은 밑에서 위로 늘어난다는 사실에 주목해 보자. 그림으로 표현되면 다음과 같은 모습이 된다.
         이런 방식으로 구성된 프로그램의 시스템에서 다음과 같은 방법으로 비교를 할수 있지 않을까?
         함수에서 이러한 생각은 참 의미롭다. onHeap함수내에서 onTheStack는 지역 변수(local variable)이다. 그러므로 그것은 스택에 위치할 것이고, onHeap가 불릴때 onHeap의 스텍 프레임은 아마 프로그램 스텍의 가장 위쪽에 배치 될것이다. 스택은 밑으로 증가하는 구조이기에, onTheStack는 방드시 어떠한 stack-based 변수나 객체에 비하여 더 낮은 위치의 메모리에 위치하고 있을 것이다. 만약 address 인자가 onTheStack의 위치보다 더 작다면 스택위에 있을수 없는 것이고, 이는 heap상에 위치하는 것이 되는 것이다.
  • ProjectPrometheus/Journey . . . . 8 matches
         (그래서 수요일날에는 프로그램 작성전 Menual Test 방법을 먼저 생각해두고, 프로그래밍 작성을 하는 식으로 접근함)
          어차피 AcceptanceTest 관련 코드의 경우 Server 프로그램과 독립적으로 돌아가기에 그리 걱정하지 않아도 상관없을듯. 소스는 CVS에 올려놓고 있으니 시간있을때 확인하셔도 좋을듯. --["1002"]
          * Code Review 로서 Refactoring 이 이용된다고 했다시피, Refactoring을 해 나가면서 전체 프로그램의 그림이 좀 더 이해가 갔다. 한동안 해당 프로그램에 대해서 플밍 리듬을 놓쳤을때 Refactoring 을 시도하는것도 좋은 전략이라 생각.
         상민쓰와 함께 ADO 를 이용한 부분에 대해 DB Mock Object 예제를 작성했다. 전에 상민이가 DB Layer 를 두지 않고, ADO Framework를 거의 치환하게끔 작성했다고 판단, 이번에는 내부적으로 ADO를 쓰건 가짜 데이터를 쓰건 신경쓰지 않는 방향으로 같이 작성하였다. ADO 는 기존에 ["1002"] 가 작업했던 프로그램에서 일부 사용한 소스를 고쳐썼다.
          * 한편으로 또 드는 생각은 아무리 우리가 공부를 하네 위키에 문서를 남기네 해도, 결국 저 사람에게는 '그저 저넘들 자기만족을 위한 행위' 그 이상이 아니라는 것. 피시실에서 게임을 하나 프로그램 개발을 하나 그저 '타인의 행동' 이상의 의미가 없다란 느낌이 들고 나니 서글퍼진다. 순간 울컥 하는 마음에 속으로 '차라리 자극 좀 받아보시고 거기 깔린 오락 좀 지워보시지. 젠장' 라고 읊어대었다. (갈수록 건방짐 높아져가는 ["1002"]. 솔직히 좀 화가 나서리..) 개인적으로 피시실이 사람들이 서로 개발이나 공부를 위해 시끌벅적한 작은 팀들이 많이 있고, 그 분위기에 다른 사람들이 조금이나마 휩쓸렸으면 하지만. 그러한 팀들은 늘 레포트가 나오던지 팀프로젝트가 나오던지 해야 만들어지려나.. 거참 엄청 재미도 나겠군. 역시 이상일 뿐이려나. (화이트보드 큼지막한 것이 있어도 우리가 알고리즘 구상하느냐고 써놓은 것들이 3-4일째 그대로이군.)
          * TestDrivenDevelopment 의 경우를 추구했다면 어떠했을까. TDD 의 특성상 꼭 필요한 메소드들만 있는 단순한 디자인을 유도한다라는 점에서. 이번의 경우도 Scenario 를 생각하여 프로그램 뼈대를 만들어서인지 주 Interface가 되는 메소드들외에 불필요한 메소드는 적었긴 한데, 그 대신, 신기하리만치 처음 짠 시나리오가 완벽하게 먹히었다란 생각도 든다;
          * ["1002"] 는 오늘 모임전 해당 프로그램이 Java Servlet & JSP 기반에서 돌아갈것이라 생각, Java Web Programming 에서의 MVC 패턴을 책들을 보면서 공부를 했다. 그래서 그런지, ["neocoin"] 과 전체 디자인 이야기를 할때 Java Web 에서의 MVC style 에 대해 먼저 언급하게 되었다. 그러면서 JSP Page - Servlet - Logic 객체들 로 나누고 Requirement 와 이전 수요일때 했었던 Iteration 등에서의 용어를 떠올리며 디자인을 생각하게 되었다.
  • SoJu/숙제제출 . . . . 8 matches
          printf("\n이 프로그램은 구구단 프로그램 입니다.");
          printf("\n이 프로그램은 구구단 프로그램입니다. 1~9까지의 숫자중 하나를 입력하세요.\n\n");
         //구구단 출력 프로그램 v2.1 제작자: 조현태 최종수정일: 2005.04.08
         //이프로그램은 정수를 입력받은뒤 1-9사이일 경우에만 구구단을 출력하고,
         //아닐경우에는 다시 숫자를 입력 받는 프로그램입니다.
          printf("안녕하세요? 구구단 출력 프로그램입니다.\n시킨대로 하지않으면 다운의 소지가..\n1~9사이의 정수를 입력해주세요.\n");
  • callusedHand/books . . . . 8 matches
          공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때문에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위한 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대한 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
          저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때문에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜한 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러한 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
          오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
          프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때문에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대한 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때문에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
          소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위한 방법론에 관한 학문입니다. 프로그램을 구현하는 단순한 작업 이상의 다양한 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 문제점을 찾을 수 있습니다.
          요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 문제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
  • 데블스캠프2009/화요일후기 . . . . 8 matches
          * '''강소현''' - API가 뭔지, 그걸로 어떠어떠한 프로그램을 만들 수 있는 지 알게된 수업이었어요. 왠지 마지막 피아노...최종귀축 여동생 플랑도르 같은 거도 연주하게 할 수 있지 않을까하는 느낌이 ㅇㅁㅇ(!) 직접 연주하는 프로그램인 거같긴 했지만ㅋㅋ;;
          * '''서민관''' - 개인적으로 이번 화요일 수업에서 가장 마음에 드는 수업이었습니다. 이런 식으로 시간의 흐름에 따라서 추상화 개념이 발전하는 모습을 보고 있으니 참 대단하다는 생각이 들었습니다. 그리고 반복을 줄이기 위한 방법들(ex - 반복문, 자료형, class) 각각이 무엇을 위해서 만들어졌는지를 알아보는 것으로 평소에 아무 생각 없이 썼던 것을 다시 한 번 생각해 보는 기회가 되었습니다. 그리고 수업을 듣고 나니 추상화를 통해서 긴 프로그램 코드를 각각의 함수로 쪼개는 방법이 왜 중요한지도 조금 더 잘 알겠네요.
          * [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용한다. 단순히 키보드 두번만 누르면 똑같은 것이 한번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 문제를 푸는것 만에는 사실 극히 특별한 알고리즘이 필요없다고 생각한다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위한 알고리즘을 생각을 해보았나? 대부분의 문서를 한장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 문서는 문서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각한다. 과연 네이버에서 자동완성됬던 Kesarr.
  • 새싹교실/2012/AClass/5회차 . . . . 8 matches
          3. 3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         •아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.문자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
         3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         5.아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.문자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
  • 새싹교실/2012/절반/중간고사전 . . . . 8 matches
          * 몇 자리 숫자든 상관없이 각 자리 수의 합을 더하는 프로그램 만들기
          * 구구단 만들기
          * 삼각형만들기
          * 별찍기로 다이아몬드 모양 만들기
          * 가위바위보 게임 만들기
          * 앞으로 새싹을 게임 만들기로 진행하려고하는데 새내기들이 게임을 안 좋아한다고 해서 놀랐습니다. 당연히 좋아할 줄 알았는데 아니었어요. 컴공은 다 겜덕인줄 알았는데 나의 착각이었구나…………
          * 게임만들기
  • 작은자바이야기 . . . . 8 matches
          * 현업 Java 개발자도 놓치기 쉬운 문제들을 짚어보고, 올바른 Java 프로그램을 빠르고 깔끔하게 구현하는데 필요한 중급 수준의 지식을 전달하기 위해
          * Generics와 Reflection을 이용한 ObjectMapper 만들기
          * 라이브러리 파일(jar) 만들기(Run as -> Maven Install) - ObjectMapper를 라이브러리와 클라이언트 프로젝트로 분리.
          * ~let : 외부의 컨테이너에서 라이프사이클을 관리해주는 프로그램. 안드로이드의 activity같은 경우 외부에서 실행시켜서 동작하게 됨. 그것과 비슷한 것.
          * applet : 어플리케이션(브라우저)상에서 돌아가는 작은 프로그램.
          * servlet : 서버상에서 돌아가는 작은 프로그램. 아파치 웹서버의 모듈 방식(외부에서 http request가 날아오면 서버가 받아서 알맞은 모듈에 전달해줌.)처럼 만들어 놓은 것.
          * portlet : 포탈(관리프로그램 등)상에서 돌아가는 작은 프로그램.
  • AcceleratedC++/Chapter4 . . . . 7 matches
          3장까지 봤던 것은 첫번째것만 있고, 나머지 것은 없다. 프로그램이 작을때는 별로 상관없지만, 커지기 시작하면서부터 2,3번째 것이 결여되면, 나중엔 제어가 불가능해진다. C++에서는 다른 언어와 마찬가지로 함수 + 자료구조를 제공함으로써, 프로그램을 구조화시킬수 있는 방법을 제공한다. 또한 함수 + 자료구조를 묶어서 가지고 놀 수 있는 class라는 도구를 제공해준다.(Chapter9부터 자세히 살펴본다.)
          그러므로 이번장부터는 프로그램을 나눠서, 서로 다른 파일에 저장, 컴파일하는 법과, 나중에 합치는 법 등을 공부할 것이다.
          * 3장까지의 프로그램을 보면 등급을 메기는 부분이 있다. 이 부분을 함수로 추출해보자. 함수로 추출함으로써, 나중에 똑같은 내용을 또 코딩할 필요가 없고, 알아보기도 쉬워진다. 또한 등급 메기는 방법을 바꿀때 그 함수 부분에만 문제를 한정지을 수가 있다. 또한 함수에 이름을 지어줌으로써, 더욱 추상화시킬수가 있게 된다.
          * 여기서 살펴볼 게 몇가지 있다. 지난번에는 vector의 크기가 0이면 그냥 프로그램을 종료시켜버렸지만, 여기서는 예외처리라는 신기술을 사용했다. 이 방법은 여기서 끝내지 않고 다음 부분으로 넘어간다. <stdexcept>를 포함시켜 주면 된다.
          * 여태까지는 한 학생의 데이터만 가지고 놀았다. 하지만 성적 처리 프로그램은, 모든 학생의 데이터를 대상으로 한다. 이에 다시 체계적인 데이터 구조가 필요하다.
          * 데이터 구조가 바뀌었으니, 우리의 프로그램도 약간 변경을 해야할 것이다. 먼저 read
  • Android/WallpaperChanger . . . . 7 matches
         = 프로그램 시나리오 =
          * 프로그램을 켠다.
         = 프로그램 작업현황 및 로그 기록소 =
          || 4/15 || 리스트 액티비티를 기본으로 만들고 기본 프로그램 구조를 잡음 ||
          || 4/25 || PathRepository를 ArrayList로 Parcelable객체로 만드는것을 성공 순서도상의 DB접근을 제한을 두어야할것 같음. 문제점 : WallpaperManagerActivity에서 Add시키고 setting하는데 객체가 날아감. 우짬.. 아! 우선 만들어놓고 setting할때만 DB에 저장시키는 방식으로 해야겠다.그리고 0으로 index가 없는것과 있는것을 표기해서 update혹은 새로 만들기를 실행하도록 하고. ||
         누군가는 이 페이지상의 많은 조언이 "섣부른 최적화"나 마찬가지라고 비판할지도 모릅니다. 미시 최적화는 때로는 효율적인 데이터 구조와 알고리즘을 개발하는 것을 더 어렵게 만든다는 것은 사실입니다. 하지만, 핸드셋과 같은 임베디드 기기에서는 때로는 별다른 선택지가 없습니다. 예를 들어, 여러분이 데스크탑에서 개발할 때 생각하는 VM의 성능에 대한 가정을 안드로이드에도 적용한다면, 여러분은 시스템 메모리를 소진해버리는 코드를 꽤나 작성해 버리고 말 것입니다. 이것은 여러분의 애플리케이션이 바닥을 기도록 할 수 있습니다 — 시스템에서 동작하는 다른 프로그램들에게 무엇을 하는지 지켜보세요!
         향상된 반복문(때로 "for-each"로 알려진 반복문)은 Iterable 인터페이스를 구현한 컬렉션들을 위해 사용될 수 있습니다. 이러한 객체들로, 반복자는 hasNext() 와 next()을 호출하는 인터페이스를 만들기 위해 할당됩니다. ArrayList의 경우 여러분이 직접 탐색하는 것이 좋을 수 있습니다만, 다른 컬렉션들에서는 향상된 반복문 구문이 명시적인 반복자의 사용과 동등한 성능을 보여줍니다.
  • DPSCChapter1 . . . . 7 matches
         ''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시한 23개의 패턴은 좋은 디자인의 든든한 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을한 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 문제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양한 문제들을 위한 해결책을 위한 유용한 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전문가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡한 역할을 할것입니다.
         다른 이론적인 테두리안에서 프로그램(''전통적인 절차식 스타일'')을 한 후 객체 지향 언어를 배우는 것은 어렵다. Smalltalk 안에서 복합된 응용 프로그램 하는 것을 배우는 것은 복잡한 새로운 기술과 문제에 대한 새로운 사고 방식을 요구한다.(" e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991") "Smalltalk" 라는 산을 오르는 것은 확실히 사소한 것이 아니다. 일단 당신이 간단한 Smalltalk 응용 프로그램을 만드는 데 자신이 있는 경지에 닿았다고 해도, 아직 전문가의 경지와는 분명한 차이가 있다.
          * 새로운 문제를 찾고 문제 해결을 위한 기존의 모듈을 재사용하기 위해, 또는 정적이거나 동적인 관점 양쪽 측면에서 프로그램을 이해하기 위해 어떻게 Smalltalk IDE 툴을 사용해야 하는가에 대해
          * 응용 프로그램 영역(보험, 쌍방향 통신, 등등.) 과 시스템 개발(윈도우즈 시스템, 컴파일러, 등등.)의 많은 새로운 예제들을 다룬다.
  • EightQueenProblem2 . . . . 7 matches
         EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
         새 문제는 다음과 같습니다. 자신이 작성한 프로그램을 수정을 해서, EightQueenProblem의 일반적인 문제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
         EightQueenProblem에서와 마찬가지로 프로그램 작성 후에 다음 칸을 채워주세요.
         ''"소스수정 없음"은 잘 이해가 되지 않습니다. 첫번째와 두번째의 요구사항, 즉 기대하는 결과가 다르다는 점을 생각할 때 프로그램이 조금이라도 달라져야 합니다. 분명 처음에는 모든 해를 구하라는 요구조건이 없었는데 그렇게 했다면 당시로서는 그건 YAGNI(You Aren't Gonna Need It)이거나 혹은 고객이 원하지 않는 프로그램 아닐까요?''
         만약 이 모든 것을 완료했고, 뭔가 더 도전할 것을 찾는다면, N-Queens Problem을 풀면 됩니다. (요구사항의 또 다른 변화! :( ) NXN 체스판에서 N개의 여왕을 배치하는 프로그램이 되도록 수정하는 겁니다.
          ''네. 만약 그렇게 되도록 프로그램을 수정하는데 어려움이 있거나 시간이 많이 걸린다면 처음 디자인이 그다지 적응도가 높지 못했다는 반증일 수 있겠죠.''
  • MFCStudy_2001 . . . . 7 matches
         목표: MFC를 이용, 프로그램을 작성한다. [[BR]]
          * 오목 - 1인용 인공지능 오목을 만들기
          == 프로그램 ==
         [상민]:시원 섭섭하네. 뭐 암튼 말말말은 채팅 형식으로 가자 더 좋은 레이아웃 있으면 누가 추천해줘 그리고 2월 3일까지 줘 저기 위에 채울꺼 줘[[BR]]
         [상협]:이렇게 MFC프로그램을 짤 수 있도록 이끌어주고 가르쳐준 상민이형한테 정말 너무 고마울 따름입니다.[[BR]]
         [창섭]:파트너 상협이꺼. 오... 상당히 똑똑했다. 어쩌다가 갑자기 연산오류로 종료하는 경우도 있었지만 그래도 멋진 프로그램이다. 호오.. 파트너로써 미안한걸..^^;[[BR]]
         [창섭]:인수꺼. 시작하자마자 열라 빨리 움직이는 데 놀랐다. -,.- 허무했던것은.. 겜을 이겨도 져도 '끝' 이란 말로 프로그램이 닫히니까 어찌나 허무했던지..ㅋㅋ 자네도 짱일세. ^^[[BR]]
  • NeoCoin/Server . . . . 7 matches
         컴파일 후에 지우기 쉽게 /tmp 에 풀어내는 것이다. 참고로 데비안은 프로그램
         8. 커널 이미지, 커널 문서, 커널 소스, 커널 헤더 패키지를 각각 만들기 위해
         -리눅스에서 시디 이미지 만들기
         특정 디렉토리 이미지 만들기
         -mc를 예전 알짜처럼 만들기
         -어떤 프로그램이 어떤 포트를 사용하는지...
         http://members.optusnet.com.au/ckolivas/kernel/ 리눅스커널 2.4.19 대의 여러 성능 향상 관련 패치 모음이에요. 벤치마크 보면 눈에 띠게 향상되네요. [http://contest.kolivas.net 요건 벤치마크 프로그램입니다] --동희
  • PrivateHomepageMaking . . . . 7 matches
         = 개인 홈페이지 만들기 =
         만들어야하기 때문에 실제로 그 프로그램을 어느정도 뜯어 고칠 수 있는 능력이 필요하다.
         대략 보드 기반의 홈페이지는 몇가지 공통적으로 이용하는 프로그램들이 많이 존재한다.
         물론 프로그램에 관심이 있는 사람은 이 기회에 게시판으 한번정도 짜보는 것도 나쁘지 않을 것이다.
         일반적으로 이용하는 게시판 프로그램으로는 다음의 것들이 있다.
         보통 PHP, MySQL을 이용한 프로그램들이 대부분이다.
         BLOG 패키지 기반 홈페이지 역시 사이월드를 비롯한 사이트들이 유행을 하면서 만들어진 프로그램들이 존재한다.
  • STLErrorDecryptor . . . . 7 matches
         가) 여느 개발도구와 마찬가지로 VC의 IDE는 그 자체에 빌드용 장치(컴파일러와 링커)를 내장하고 있지 않고, 외부에 있는 컴파일러와 링커를 실행해서 프로그램을 빌드합니다. 컴파일러와 링커의 출력 결과는 실제로 콘솔로 빠져 나오는 출력이지만, 네임드 파이프(named pipe)란 것을 통해 VC의 IDE로 다시 들어가 '''출력(output)''' 윈도우에 디스플레이되는 것입니다.
         컴파일을 맡은 프로그램은 CL.EXE란 것인데, 이 프로그램은 C/C++컴파일러(C2.DLL+C1XX.DLL)를 내부적으로 실행시키는 프론트엔드의 역할만을 맡습니다. VC IDE는 컴파일시 이 프로그램을 사용하도록 내정되어 있습니다.
         = 필요한 프로그램과 도구를 받아서 준비하기 =
         프록시 CL의 에러 필터링을 활성화하거나 비활성화하는 역할을 맡은 프로그램인 STLtask.exe를 실행시켜 태스크바에 띄우는 과정입니다.
         가) VC++를 실행시키고, 아래와 같이 프로그램을 써 봅시다.
  • SharedSourceProgram . . . . 7 matches
         소스공유 프로그램(Shared Source Program)을 통해 주요 MS 제품군의 소스에 접근할 수 잇는 권한을 획득한다. 특히 소스공유 프로그램은 현재 한국과 호주 양국 MVP에게만 부여된 권한이다.
         리눅스를 정부 프로그램으로 채택하는 국가들이 세계적으로 늘어나고 있는 가운데, 마이크로소프트(MS)가 오피스 소스코드 공개를 통해 오픈소스 진영에 적극 맞서고 있다.
         MS는 3년 전부터 `소스공유 이니셔티브'(Shared Source Initiative)라는 프로그램을 통해 협력업체들과 정부에 윈도 소스코드를 공개해왔다. 특히 최근 몇 년간 각 국 정부가 오픈 소스 진영으로 전환하는 것을 막기 위해, 정부와 특정 회사가 소스코드를 볼 수 있는 프로그램을 확대해왔다.
         공대차원 학회 지원 프로그램의 한가지 방법으로 Shared Source Program 이 준비되고 있다고 한다.
         돈을내고 라이센스를 받아야 하는 프로그램이라 학교측에서도 그전에 컴공의 각 학회들에게 어떤 방식으로 SSP를 활용해 나갈지를 먼저 물어보고 실제로 진행을 할 예정인가보다.
  • TAOCP/Exercises . . . . 7 matches
         0000~0099메모리 셀을 모두 0으로 만드는 프로그램
          프로그램을 3000부터 로드해야 되는데... 아직 모르는게 많다
         (b) rI4에 주어진 N과 rJ를 같게 만들기(0 < N ≤ 3000)
         프로그램은 3000부터 시작
         프로그램 실행 뒤에도 모든 메모리 셀의 값이 변하지 말아야 함.
         X^13이 rA에 들어가는 프로그램 작성(X^13이 한 WORD를 넘지 않는다고 가정)
         + e d c b a 가 rA에 저장되는 프로그램 작성
  • UnixSocketProgrammingAndWindowsImplementation . . . . 7 matches
          // 에러가 났을경우( sockfd == -1) 에러를 출력하고 프로그램 종료.
         = Server 가 될 프로그램에 필요한 함수 =
         = Client 가 될 프로그램에 필요한 함수 =
          ※ 이를 이야기 해보고 client의 프로그램의 네트워크 정보(struct sockaddr_in)에는 무엇이 들어가야하는지 이야기해보자.
         // 프로그램이 끝날 때, 항상 WSACleanup()으로 리소스를 해제해야한다.
         // 이것은 프로그램이 socket과 연결할 정보를 담고있다.
          위의 server 에 접속 하는 client 프로그램을 짜고, Server가 보내는 메세지인 "Hello, World!"란 문장을 clinet 화면에 출력하도록 한다.
  • ZeroPageHistory . . . . 7 matches
          * MFC 그룹 스터디 - 지뢰찾기 만들기
          * 치과 운영 관리 프로그램
          * 세탁소 관리 프로그램
          * 세일 정보 통신 재해자 관리 프로그램
          * 비디오 도매상 관리 프로그램
          * '작은마녀' 게임 프로그램
          * 삼성전자 번들용 영어 교육 프로그램
  • ZeroPageMagazine . . . . 7 matches
         [정모/2004.7.26]에서 논의한 학회지 만들기를 위한 페이지(페이지 이름은 임시로 지음)
          밑에 자세한 설명이 있네요. 프로토타입 만들기를 하는 대상은 결과물에 한정되지 않고, '리허설'처럼 그 과정도 해당합니다.
         프로토타입을 만든다는 것은 말 그대로 '시제품'을 만드는 겁니다. 해당 작업을 완벽하게 하기 전에, 무언가 내가 올바르게 하는 일인건지 리허설, 혹은 실험용 간단한 모델을 만드는 작업을 이야기하죠. 건축으로 친다면 건물 만들기 전 모델을 만들고 선풍기 바람 돌려서 안무너지나 알아본다던지, 혹은 PDA 프로그램만들기 전에 PDA 종이 모형을 만들고 그 안에 스크린을 종이로 구성해본다던지 등을 예로 둘 수 있겠습니다.
         관심 가져주시는 분들이 많군요. 그럼 가벼운 마음으로 만들기를 시작해보죠. 참여하실 분은 붙어주세요. --[Leonardong]
         8월 23일 정모가 끝나고 만들기 시작하죠. --[Leonardong]
  • ZeroPageServer/SubVersion . . . . 7 matches
          * 기본적인 이용법은 거의 cvs와 동일하다. 심지어는 콘솔의 명령어도 거의 동일하다고 생각된다. 하물며 Tortoise같은 프로그램인데 오죽하랴. 다른 것은 저장소를 표기하는 방법이 다르다.
          * SSH를 통해서 접근을 하는 경우 상당히 잦은 패스워드 입력 창을 보게됩니다. 이를 해결하기 위해서 몇가지 방법이 존재하는데.. ''(터널링 프로토콜로 SSH를 이용하기 때문에 어찌하였던 SSH 프로그램을 등록해야함.)''
          * SSH프로그램의 옵션으로 패스워드를 주는 방법
          puttygen: rsa, dsa 공개키/비밀키 쌍 생성 프로그램
          pageant: 키관리 프로그램
          소스를 가져온 것이기 때문에 pageant와 호환이 되는 것이다. 푸티 비호환 프로그램에서는
          그 프로그램에 맞는 키 에이전트를 설치하면 된다.
  • ZeroPage성년식/거의모든ZP의역사 . . . . 7 matches
          * MFC 그룹 스터디 - 지뢰찾기 만들기
          * 치과 운영 관리 프로그램
          * 세탁소 관리 프로그램
          * 세일 정보 통신 재해자 관리 프로그램
          * 비디오 도매상 관리 프로그램
          * '작은마녀' 게임 프로그램
          * 삼성전자 번들용 영어 교육 프로그램
  • 김희성 . . . . 7 matches
          * 리눅스 서버 이용 멀티 채팅
          * [김희성/리눅스멀티채팅] (3/25 - 11:32)
          * [김희성/리눅스계정멀티채팅] (3/30)
          [김희성/리눅스멀티채팅]을 수정하였습니다.
          아이디 생성 및 로그인 방식 채팅, 접속시 로그아웃 기간 동안의 기록을 보여줍니다.
          그 외 버그는 앞의 [김희성/리눅스멀티채팅]과 같습니다.
          * [김희성/리눅스계정멀티채팅2차] (4/7)
  • 덜덜덜/숙제제출페이지 . . . . 7 matches
          * multiplication : 구구단 프로그램 *
         {{{~cpp /*학생 다섯명의 세 과목 평균을 구하는 프로그램입니다.
          * 프로그램 이에요^^ *
         음... 이름을 알파벳 1글자 이상 입력하면 프로그램이 이상해져 버립니다 ㅋ (힌트 : 이중배열 or 구조체) - [조동영]
         *5명의 성적을 입력받아 평균내는 프로그램!! *
         /* 프로그램입니다. */
          * 다섯명의 성적을 입력받아 평균을 내는 프로그램 *
  • 데블스캠프2011/첫째날/개발자는무엇으로사는가 . . . . 7 matches
          * 나는 이따위 프로그램(개발툴)을 만들지 않겠다. - [김수경]
          * 당신이 경쟁 유료제품을 위협할만한 만큼 고품질의 프로그램을 만들어 일반에 무료로 배포하고 있다는 가정을 해봅시다. 만약 경쟁회사에서 큰돈을 주며 프로그램을 폐기하라고 유혹한다면 당신은 어떻게 하시겠습니까?
          * 내가 이 프로그램을 유료화하면 그보다 많이 벌 수 있다고 뻥쳐서 더 큰 돈을 받는다. - [김수경]
          * 개발한 개수와 그때 그때 가졌던 직책의 권한 범위 - 개발한 프로그램의 개수를 통해 그 사람의 내공을 알아볼수 있다. 능동적인지 수동적인지 시키는데로만 했던건지 직책과 권한을 통해 이 사람이 무엇을 했는지 알아볼 수 있다. 만약 개발한 프로그램이 수십개가 넘는데 일개 개발자, 일개 개발자, 일개 개발자에 불과하다면 수동적인 사람으로 의심 할 수 있을것이다. 정해진 루틴따라 개발하는 일에서는 그만큼 편하긴 하겠지만 지속적인 변화가 요구되는 분야에서는 힘들것이다.
          * 일개 개발자라도 프로젝트에 대한 문제점 지적이나 의견, 방향성을 제시할 수 있지 않나요? 저는 진정한 리더란 한발 물러나는 사람이라고 생각합니다. 앞에 나서기 좋아한다고 능동적인지, 그래서 좋은 프로그램을 짤 것인가는 알수없을 것 같아요~ - [서지혜]
  • 데블스캠프2011/첫째날/후기 . . . . 7 matches
          * 전 늦게와서 오프닝은 잘 못들었기 때문에 svn을 활용해보지는 못했네요 ^^; 하지만 팀프로젝트를 할 때 편리한 프로그램인 것 같습니다.
          * Play with Java에서는 1학년 때 승한이형이 여러 사람들이 함께 프로젝트를 진행할 때 누군가 어느 부분을 수정했는지 알 수 있게 해 주는 부분이 있다고 하셨었는데, 그걸 전역하고 나서야 다뤄보네요 -ㅅ-;; 쩝... 아무튼 간단한 프로그램을 만드는 것이라 재미있게 사용법도 익히고 좋았습니다. 자주 써 먹어야겠네요. ㅋ~
          * 2009년에 Java와 JUnitTest를 주제로 진행했을 때 실습 미션을 잘못 준비해오고 시간이 많이 비었던 뼈아픈 기억 때문에 시간이 부족했음에도 불구하고 나름 신경을 많이 썼던 섹션이었는데 오히려 타임오버가 되었네요;; 프로그래밍보다 수학 시간이 되었던거 같은 실습시간.. (그래서 처음에 겉넓이를 뺐던 것이었는데 팀이 많아서 추가하고 으헝헝) 그리고 다들 프로그래밍을 잘해서 '''Unit Test를 굳이 하지 않아도 버그가 없었던''' 프로그램을 완성하는 바람에.. Unit Test의 필요성을 많이 체감하지 못한것 같아서 좀 아쉬웠어요. 역시 '''적절한 예제'''를 만들기는 어려운것 같아요.
          * 앗 이 후기를 쓰지 않았다니! 자바를 처음으로 제가 코딩해볼 수 있었던 시간이었습니다. 전날까지 잘 몰랐던(ㅋㅋㅋㅋㅋㅋㅋ) '박' 성현이 형과 같이 진행했죠. 누구랑 같이 할지 선택하라고 했을때 성현이형을 보자마자 찰나의 고민도 없이 '아! 성현이형이랑 해야겠군!' 이라는 생각이 들엇달까요 ㅎㅎㅎㅎ. 개인적으로 지금은 새발의 피만큼 클래스와 객체의 개념에 대해서 좀 더 이해되는거 같습니다. 책보며 공부하고 있는데도 아직 어려움이 많네요. JUnit이라는 (뒤에가서 TDD도 배웠지만) 분산해서 프로그램 짜는걸 실습해볼 수 있어서 좋았습니다. 세미나가 3시간인게 정말 아쉬웠지요 ㅠㅠ 좀 더 시간이 많아서 많은걸 들을 수 있었다면 좋았을텐데 라는 아쉬움아닌 아쉬움이 남는 지원누나의 최고의 세미나였습니다.
          * Playing with Java시간에는 지금까지 한번도 써보지 못했던 이클립스를 써봤는데 아직은 문법을 잘 몰라서 약간 생소했지만 좋은 경험이었다고 생각합니다. 또 처음으로 여러 팀에서 각자 담당한 프로그램들을 짜서 그 다음에 붙여보는 활동을 했는데 재미있고 새로운 시간이었습니다.
          * 데블스 캠프를 낮밤을 함께 하자 제안했었는데, 어쩌다 보니 낮 시간인 날에 참가 못하게 되버렸지요 ㅠ.ㅠ SE 팀플을 할 때 svn을 써보긴 했지만.. 폴더 단위로 이동시키다가 supclipse로 하니 좋았어요:) 동시다발적으로 하려다 보니 충돌이 많이 나서 잘 안될 줄 알았는데..마지막에 프로그램이 돌아가는 걸 보고 감동적이었던! 처음에 클래스 선언 타입이나 그런 준비를 하는 것이 얼마나 중요한 지 깨달았어요.
  • 비행기게임 . . . . 7 matches
          * 적의 미사일도 다양하게 만들기(유도 미사일등)
          * 각 스테이지 만들기(한 6판 정도..)
          * 비행기에 다양한 무기 만들기
          * 전체 화면 만들기
          * 행동 함수 만들기, 적기 미사일 나가게 하기
          암튼. 초반의 열정이 후반의 끈기로 이어지려면, 해당 일에 대한 좋은 방법들을 중간에 계속 궁리하고, 적용해봐야겠지. 개인적인 조언이라면, 초반에 너무 그래픽 등에 많이 신경쓰지 않는것이 낫다고 생각함. 일단은 전반적인 틀과 게임 엔진을 만든다는 기분으로 하고, 그 엔진이 자신이 원하는 아이디어를 수용할 수 있는가에 더 촛점을 맞추는게 낫지 않을까 함. 단, 생각은 전반적인 부분을 보되, 구현을 쉽게 하기 위해서는 구체적 예제 데이터를 가지고 작업하는것이 효율적이겠지. 그리고 그 예제 데이터를 기반으로 일종의 SpikeSolution식으로 구현을 한뒤, 그 구현된 프로그램을 보고 다시 코드를 작성하던지 또는 ["Refactoring"] 해서 일반화시키던지.(새로 짜도 얼마 시간 안걸림. 예상컨대, 아마 중반에 소스 한번 뒤집어주고 싶은 욕구가 날껄? 흐흐) --["1002"]
         일단은 작은 아이디어를 하나 정한다음 (그 뭐다냐.. 총알 피하기 폐인 게임같은거) 완성시킨뒤, 프로그램을 키워가는 것도 좋을듯. --["1002"]
  • 새싹교실/2012/새싹교실강사교육/4주차 . . . . 7 matches
         파일은 메모리와 같은 주기억장치가 아닌, 하드 디스크 같은 보조기억장치에 저장되는 기본 단위입니다. 파일에는, 그 어떤 프로그램이던 간에 무조건 프로그램이 작성한 정보가 저장되는데요. 프로그램은 꽤나 많이, 실행 중에 파일을 새로 만들거나 등의 행동을 해서 파일을 액세스해야 하는 경우가 생깁니다. 그렇기 때문에 정보의 저장과 불러오기가 꼭 필요합니다. 그걸 간단하게 두 개로 설명해보겠습니다.
         1.1 프로그램의 실행 파일에는 크기의 제약이 있기 때문에 프로그램이 가지고자 하는 모든 데이터를 가질 수 없습니다. 그래서 큰 정보는 외부의 파일에 두고, 실행 중에 파일을 읽어서 사용하는 방법을 흔히 쓰게 됩니다. 예를 들어 게임 프로그램에는 BGM, 효과음, 사진, 그림, 동영상 등의 파일을 읽어서 출력하게 됩니다.
          1.2 프로그램이 작업한 결과를 영구적으로 보존하기 위해서도 파일을 외부에 저장합니다. 이는 당연한 거겠죠? 우리가 그림판을 통해 작업을 하고 난 뒤에는 항상 저장을 합니다. 이와 같은 이치입니다. 만약 게임의 점수 정보가 담긴 파일을 저장한다든가 등에도 필요합니다.
  • 수학의정석 . . . . 7 matches
          SOURCE : 자신의 풀이를 먼저 적고 그것을 가지고 어떻게 프로그램을 짰는지 적어야한다. 그리고 아래에 소스를 포함하도록한다.
          CPU_CLOCKS : 시간은 기록 되지 않으며 프로그램이 수행된 시간(CPU CLOCK을 기록해야한다. 방법은 아래.)
          UPDATE : ○로 표시하며 프로그램이 일주일 동안 업데이트 되었음을 기록하는 것이다.
         (프로그램수행) // 함수들을 수행
         printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
         return 0; // 프로그램 종료.
         제가 알기론 clock() 함수가 리턴하는 값은 프로그램이 시작된 이후로 경과한 CPU 클럭 수 이기 때문에 시스템마다 다르다고 알고 있습니다. 그래서 CLK_TCK로 나누어 초 단위로 바꾸어 비교를 하는것으로 알고있는데... 어떻게 생각하시는지...? --[상규]
  • 프로그래머가지녀야할생각 . . . . 7 matches
         전체 프로그램을 포기하는 경우가 생기곤 하죠..
         너무나 이상적이고 추상적인 생각이겠지만 '프로그래머는 사회에 이익이 되는 프로그램을 만들어야 한다'는 근본적인 생각을 갖는 건 어떨까요? 예를 들어 재미있는 오락도 좋겠지만 장애인이나 나이 많이 드신 분들을 위한 보조용프로그램 같은 것들이 많이 개발되어야 한다고 생각합니다. 전에 정보요원단 활동을 할 때 우리나라에 보급되어 있는 장애인용 프로그램들이 많이 부족한 현실을 봤었는데... 내가 만든 프로그램이 남에게 도움이 된다면 그보다 좋을 일이 또 있을까요? ^^ -- jeppy
          * 다들 인간으로써의 프로그래머를 두고 말씀하시는 것 같아 제 말이 뚱딴지처럼 들릴 것 같네요...^^;[[BR]]전 말이죠... 프로그래머는 컴퓨터를 사랑해야한다고 생각합니다. 정말 제가 생각해서 어이없는 말 같지만, 프로그래머는 컴퓨터에게 명령만 내리는 것이 아니라 컴퓨터와의 커뮤니티가 형성되어야 좋은 프로그램(인간에게가 아니라 컴에게)을 짤 수 있다고 생각합니다. 지극히 추상적이라서 반박의 여지가 많은 말이지만 그냥 그렇지 않을까 생각해봅니다. 컴퓨터에 미친 사람이라면 다음의 말에 공감을 할 지도 모르겠네요. [해커를 위한 파워핸드북]표지에 나오는 말입니다. ''''컴퓨터 속에서 흘러 다니던 비트가 내 혈관 속으로 옮겨와 흐르기 시작하고, 나는 컴퓨터와 함께 오르가즘을 느낀다.'''' --["창섭"]
          * 위엣 말이 컴퓨터 자체에 관한 기계적 이야기라면 인간적 이야기도 추가하고 싶어요. 프로그래머는 프로그램 이전에 인간을 먼저 생각해야 한다는 것이죠... 상민이 형이 줬던 V노트에 나온 말이 인상깊습니다. ''''크래커든 프로그래머든 둘다 시작은 해커를 꿈꾼 젊은이 였으며, 인격을 가진 사람이다. 악이 없이 선이 없듯이 크래커가 영원히 존재하지 않을수는 없을지라도 지금 당신의 열정과 땀으로 주어질 선택이 진정한 존경으로 돌아올수 있도록 유혹을 이겨낸 진짜 승자가 되어야 하지 않을까......'''' --["창섭"]
  • 5인용C++스터디/소켓프로그래밍 . . . . 6 matches
         1:1 채팅 프로그램을 만들 수 있을 정도로 발표 준비를 할 것.
         서버-클라이언트 환경을 만들기 위한 과정을 서버측에서 보자면 다음의 과정을 거치게 된다.
          서버와 동일한 방법으로 클라이언트 프로그램에서 사용할 소켓 클래스 CClientSock을 생성(기초 클래스: CAsyncSocket)한다. 그리고 나서 [클래스위저드]의 CClientSock에 가상함수 OnReceive()와 OnClose()를 추가한 후, 다음 코드를 삽입한다.
          이때 중요한 것은 서버 프로그램의 포트 번호(7000)와 설정할 포트 번호가 일치해야 한다.
          이외의 데이터 송수신 과정과 마무리 작업은 서버 프로그램과 유사하다.
  • 5인용C++스터디/윈도우에그림그리기 . . . . 6 matches
         GDI(Graphics Device Interface)란 윈도우의 클라이언트 영역에 그리기를 하는데 사용되는 함수이다. 비디오 출력과 프린터에 그래픽 출력을 책임지고 있는 부분이다. 사용자가 Windows용으로 작성하는 응용 프로그램이 GDI를 사용하여 시각적인 정보를 출력할 뿐 아니라 Windows 자체도 GDI를 사용하여 메뉴, 스크롤 바, 아이콘, 그리고 마우스 커서 같은 사용자 인터페이스 아이템의 시각적인 출력을 수행한다.
         DC(Device Context)는 GDI에 의해 내부적으로 관리되는 데이터 구조체이며 '''그래픽 작업을 하기 위해서 필요한 것'''이다. 그림을 그리고자 할 때에는 반드시 먼저 DC에 대한 핸들을 얻어야 한다. 프로그램에 이 핸들을 주는 것으로 Windows는 사용자가 그 장치를 사용할 수 있도록 허가해 준다. 그러면 핸들을 GDI 함수의 인자로 사용하여 현재 그리고자 하는 장치를 Windows가 식별할 수 있도록 한다.
         첫번째 인자는 프로그램의 윈도우에 대한 핸들이다.
         보통 프로그램이 WinMain에서 UpdateWindow를 호출할 때 발생한다. 이것은 윈도우 프로시저로 하여금 클라이언트 영역에 무엇인가를 그리게 한다.
         두 경우에 있어서 첫번째 인자는 프로그램의 윈도우에 대한 핸들이다. 두번째 인자는 PAINTSTRUCT 형식의 구조체에 대한 포인터이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
         첫번째 인자는 프로그램 윈도우에 대한 핸들이다. 두번째 인자는 RECT형식의 사각형 구조체에 대한 포인터이다.
  • APlusProject/ENG . . . . 6 matches
         === asp.net웹 응용프로그램 만들기 할때 에러 발생시 해결책 ===
         ->응용 프로그램 설정 "만들기" 버튼 누름!!
         ==== 프로그램 ====
         프로그램 확인 했습니다. 잘 되네요. 수고하셨습니다. 한편 추가된 페이지들로 인해 기본 설계와 상세 설계가 약간 변경해야 할 듯 합니다. 구현 하면서 설계때 생각치 못했던 게 나와서 설계 문서에 영향을 주리라는 건 이미 예상했던 일입니다. --재동
  • AcceleratedC++/Chapter10 . . . . 6 matches
         대부분의 운영체제는 프로그램이 실행될때 인자로서 문자열을 주는 것이 가능하다. 이것은 main함수가 int, char** 의 2가지의 인자를 가지기 때문이다.
          C++에서는 일반적인 표준 출력 스트림 뿐만아니라 표준 에러 스트림을 통해서 프로그램의 주석의 내용들. 즉 프로그램이 실행되는 동안의 상태정보를 출력하는 것이 가능하다.
          단순한 프로그램이므로 설명은 생략함. 한번 쳐보자.
         수가 종료되더라도 해제되지 않고 프로그램이 종료될때 해제된다. 따라서 메모리가 해제되지 않은 static 변수를 리턴하는 것이기에 유효하다.
         || 정적메모리 할당 || 정적 변수가 존재하는 블록이 처음 실행되는 동안 할당되어 프로그램이 실행되는 동안 계속 유효한 상태로 남는다. ||
  • C++스터디_2005여름 . . . . 6 matches
         || 05. 8. 7 || 보창 아영 규완 도연 수민 || 객체지향 실습. 프로그램짜기 ||
         || 05. 8. 11 || 보창 아영 유선 도연 수민 || 객체지향 실습. 간단한 프로그램 짜기 ||
         || 05. 8. 16 || 보창 아영 규완 도연 수민 || c++ 전반적인 용어 정리. 도서관리 프로그램 짜기 ||
         || 05. 8. 18 || 보창 아영 유선 도연 || 상속. 도서관리 프로그램을 실제로 함께 짜보기. ||
         [C++스터디_2005여름/도서관리프로그램]
         [C++스터디_2005여름/학점계산프로그램]
  • C++스터디_2005여름/도서관리프로그램 . . . . 6 matches
         == About [C++스터디_2005여름/도서관리프로그램] ==
         지금까지 배운 것을 이용하여 도서관리 프로그램을 만든다. 간단한 기능은 다음과 같다.
         도서관리프로그램에 책을 등록할 수 있다. - 이 때, 책 이름, 저자, ISBN을 사용자로부터 입력을 받아 새로 구입한 책의 정보를 입력하게 한다.
         || 조현태 || [C++스터디_2005여름/도서관리프로그램/조현태] ||
         || 남도연 || [C++스터디_2005여름/도서관리프로그램/남도연] ||
         || 문보창 || [C++스터디_2005여름/도서관리프로그램/문보창] ||
  • C/Assembly/Main . . . . 6 matches
          pushl %ebp // 현재의 명령어 Counter를 Stack에 저장함. 이 프로그램이 끝나면 stack에서 다시 꺼냄.
          leave // 프로그램의 종료. stack에서 프로그램 시작 전의 명령어를 꺼내 %ebp에 집어 넣는 역할.
          ret // 프로그램이 종료.
         따라서 프로그램이 시작하고 나갈때에는 어디서 프로그램을 시작하고 끝냈는지 위치를 저장(push)하고 꼭 반환(leave)해야한다.
  • CodeYourself . . . . 6 matches
         모두 같지는 않겠지만 전산학과에 입학한 신입생들이 언어를 배우는 단계를 보자면, ''처음엔 뭘 배우고 그다음엔 뭘 배우고 그다음엔 OS, SE'' 등등등, 정해진 순서와 틀 안에서 전산학의 이모저모를 접하게 된다. 이렇게 짜여진 순서에서 그리고 판에 박힌 수업안에 있다보면 자연히 그 안에 있는 학생들도 경직되어 있을 수 밖에 없다(다행이 중앙대학교 컴퓨터공학과에는 ZeroPage가 있다). 이렇게 느끼고 있는 상황에서 이 과제는 나에게 신선한 충격을 주었다. 신입생들은 전혀 감을 잡지 못하고 이것을 어떻게 해야 할지 선배들에게 많은 조언을 구하곤 했지만(자문요청을 받은 대부분의 선배는 ''이러이러한 방식으로 해라'' 라고 하면서 거의 C 문법에 가깝게 일기를 작성했다), 나는 이번 과제만큼은 선배들의 도움을 얻지 말고 자기 '''스스로''' 결과물을 만들었으면 하는 바램을 갖고 있다. 이번에 작성했던 자신의 프로그램 (그렇다. 일기가 아니고 프로그램이다)과 앞으로 자신이 배우게 될 프로그램을 비교해보았으면 좋을 것 같다. 그리고 순수하게 신입생의 사고로 만들어진 그 코드를 보고싶은 마음도 간절하다. - [임인택]
         C언어로 일기를 쓰라는 숙제가 있었나요? 재미있네요. 그런데 이건 좀 어려운 과제 같습니다. 왜냐하면, 프로그래밍의 일상적 시간 흐름과 정반대가 되기 때문입니다. 무슨 말이냐면, 프로그래밍이라는 행위는 시간의 순방향입니다. 내가 작성한 프로그램은 미래에 일어날 사건(실행)에 대한 청사진이죠. 하지만 일기는 주로 시간의 역방향입니다. 과거에 일어났던 일들을 정리, 기록하는 성격이 강하죠. 프로그램으로 과거의 일을 기록한다는 것은 어찌보면 쉽지만 또 어찌보면 매우 어려운 문제일수도 있습니다. 신입생 입장에서는 시간의 흐름에 따라 일어났던 과거의 이벤트 연속을 적는 수준이면 될 것 같습니다. 아쉬운 것은, 이렇게 되면 조건 분기문을 활용하기가 어렵다는 점입니다. 힌트를 준다면, 리팩토링을 하면 가능합니다(내 하루의 중복을 어떻게 제거할지 생각해 보세요 -- higher-order function이 나올 정도면 상당히 진전된 것입니다). 어차피 과거의 기록 역시 "기술"(description)의 일종이고, 미래의 계획도 "기술"이니까요.
         이런 훈련이 되면 "과거형 프로그래밍"이 가능해집니다. 마치 과거에 일어난 일에 대한 기술인 것처럼 프로그램을 작성하는 것이죠. 이것은 일종의 사고의 도구입니다. 이런 실험이 있습니다. 자신의 교수가 다가오는 여름휴가 때 뭘 할지 상상을 해서 종이에 적어보라고 학생들에게 시켰습니다. 다른 그룹의 학생에게는 그 교수가 이미 여름휴가를 다녀왔다고 가정을 하고 과거형으로 무슨 일을 했는지 적어보라고 했습니다. 후자의 그룹이 쓴 내용이 훨씬 더 풍부하고 자세했다고 합니다.
  • DPSCChapter3 . . . . 6 matches
          연관된 혹은 의존적인 객체들의 집합을 만들기 위한 인터페이스를 제공한다. 클라이언트가 구체적인 클래스들에 대한 구체화
          우선 첫째로, 우리는 컴포넌트의 하위 부분들로 부터 단계별로 상품(자동차)을 만들 필요가 있는 응용 프로그램을 만들어보자.
          그것은 몸체, 엔진, 변속장치, 그리고 승객 칸막을 포함하는 자동차를 만드는 것이다. 둘째로, 응용 프로그램은 같은 상품의
          구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위한 인터페이스를 제공하는" (Intent 부분에서 언급한 내용)
          따라서, CarAssmebler를 만들기 위한 자동차 종류가 무엇이고 그 하위 부분들이 무엇을 해야하고, 그것의 실제 부분의 인스턴스가 무엇을 수행해야 할지를 결정한다. ABSTRACT FACTORY 해결은 우리가 CarAssembler 객체 밖의 모든 행동들을 추상화시킨다. 그리고 팩토리로 분리한다. 특별한 자동차 팩토리로 CarAssembler 확인을 한 후에, CarAssembler는 간단하게 구체적인 자동차와 하위 부분을 만들기 위한 팩토리를 호출한다.
  • EightQueenProblem . . . . 6 matches
         이 프로그램은 Input을 요구하지 않는다.
         시간을 잴 때에는 Wiki:SandglassProgramming 에 소개된 프로그램을 이용하면 편리합니다. 화장실을 다녀온다든가 할 때 필요한 중간 멈춤(pause) 기능도 있습니다.
         ''참고로, 소요시간이 모두 얼마냐 하는 것이 크게 중요한 것은 아닙니다. 중요한 것은 그 동안 얼마나 가치있는 무엇을(얼마나 더 얼마나 덜) 했냐는 것이죠. 남들보다 시간이 오래 걸리고, 코드가 길어졌다고 슬퍼하십니까? 아닙니다. 오히려 '''축하드립니다'''. 당신은 그만큼 큰 배움의 기회를 만난 겁니다. 자신의 프로그램이 다른 사람들의 그것보다 월등하다고 자랑스러워하며, 더 이상 배울 것이 없다고 생각하십니까? 아닙니다. 당신은 자신이 이렇게 훌륭한 해를 구한 것을 남에게 설명해 줄 기회를 찾았습니다. 가르치는 것만큼 큰 배움도 없습니다(이 때 자신이 만든 프로그램 자체를 설명하려고 하는 것보다 자신이 어떤 사고과정과 어떤 프로그래밍 성장 과정을 통해 최종물에 도달했는지를 반추해보고 설명해주는 게 더 좋겠습니다). 또 다른 사람들은 무엇 때문에 자신과 같은 좋은 해를 얻지 못했는지 분석을 할 여유가 있습니다.''
          * 프로그래밍을 잘한다는 것은 단순히 빠른 시간 안에 짧고 기발한 프로그램을 만들어낸다는 것이 아니라는 것을 인식시켜주기 위해
          * 이미 만들어진 종적 상태의 프로그램에서보다 그것을 전혀 모르는 상태에서 직접 축조(construct)해 나가는 과정에서 배우는 것이 훨씬 더 많고, 재미있으며, 효율적인 학습이 된다는 것을 느끼게 해주기 위해
  • FoundationOfUNIX . . . . 6 matches
          * [http://zeropage.org/~neocoin/putty.exe putty Client] 여기서 프로그램 다운 받아서 깔아서 접속하세요
          * 마지막 과제로 쉘 스크립트 언어로 쓰레기통 만들기 (고려중.. 안할지도 모름.)
          * 바로 최종 쓰레기통을 만들기보다 단계 단계로 올라가기로 함.
          * 첫 단계로 .cshrc 를 vi로 편집하여서 cp 명령어를 치면 자동으로 지울것인가 안 지울 것인가 묻게 만들기..
          * 간단한 쉘 스크립 파일 만들기
          * 만약 디렉토리를 지울때는 진짜로 지울것인가 묻게 만들기.
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 6 matches
         '''원칙:만약 프로젝트의 진행에서 없으면 곤란한 모든 것이 버전관리의 대상이된다. 즉 반드시 프로그램의 빌드만이 아니라 차후에 필요한 다큐도 버전관리를 해야할 필요가 있다'''
         지역 작업공간(local workspace)는 원격에 저장된 파일들을 프로그램의 개발을 위해서 개발자가 가지고 있는 컴퓨터에 받아서 프로그램을 수정하도록 하는 공간임.
         기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 한개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리한다.
         이런 개발중심축상에서 만약 특정 시점에서 프로그램의 릴리즈 버전이 완성되어서 QA과정으로 들어갔다고 생각해보자. 이때, 프로젝트의 다른 팀원들과 동시에 개발을 진행시켜 나가면서, QA과정에서 발생된 치명적인 버그를 본래의 개발중심축상에 반영시키기 위해서 만들어진 개념임. (그림이 있어야 이해가 쉬울듯. 글만 읽어서는 SE를 듣지 않은 이상 이해 힘들어보임.)
         브랜치를 이용하면 한명의 개발자가 한개의 컴퓨터를 가지고도 릴리즈 버전의 버그 수정작업과 mainline상의 프로그램의 개발을 동시에 하는 것이 가능하다.
  • Profiling . . . . 6 matches
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
         많은 선인들이 절대로 최적화를 우선시 하지 말라는 말씀 하지만 프로그램을 작성하면서, 우리가 많이 신경 쓰는 부분은 '''성능'''이다.
         이런 파레토 법칙은 프로그램에서도 적용될 수 있는 법칙인데, 이런 식이다. (몇%는 중요하지 않다. 중요한 점은 인간이 보통 인지하는 것과 실제의 모습이 차이가 있다는 점이다. )
         프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.
         프로그램이 성능을 높이기 위해서 이런 20%의 핵심 코드를 추정, 측정을 통해서 찾아야한다.
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
  • ProgrammingPearls/Column3 . . . . 6 matches
          * 별로 볼건 없고... 아무도 하지 않을 상황을 예로 들어놓은 것 같다. 왠만큼 프로그램 배운 사람이라면 당연히 배열로 처리할 것을 몇 백개의 변수로 처리하는 상황을 보여주고 있다. 그러면서 하는 말 : 많은 변수를 쓰고 있으면 관련되는 것으로 묶어서 배열로 처리하라. 이게 주제다.
          * 프로그램을 짤때 생각도 안 해보고 덤비는 짓은 하지 말자. 작게 짤수도 있는 프로그램을 크게 짜버리는 일이 생길지도 모른다.
          '''자료구조는 소프트웨어를 만든다 : 큰 프로그램을 작은 프로그램으로 줄여준다.'''
          * 이 컬럼의 주제 : 데이터는 복잡한 코드를 적절한 자료 구조로 바꿈으로써, 프로그램을 구성한다.
  • ProjectZephyrus/ServerJourney . . . . 6 matches
          ''뭐.. 비디오 들고 과정 찍어보여주기전에는 모를테니. 새글쓰긴 힘들고 리플달기는 쉽고. 새로운 프로그램 만들기는 어렵고, 클론 만들기는 상대적으로 쉬운법. --석천''
          * 상규와 DB query를 console에서 날리고 받아 출력해 주는 간단한 프로그램 작성했다. 해놓고 보니 재미있다는 생각이 듬. 확장 시키면 간단한 클라이언트로 써먹을만 할것 같다.
          * mm.mysql 클래스 패스 잡기가 너무 귀찮다. 아예 그냥 프로그램 내부에 넣어 버려야 겠다.
          * Eclipse 사용법 배웠고, 지금까지의 서버 디자인에 대한 설명을 들었습니다. 그리고 약간의 의견교환도 있었구요. 하지만 서버 디자인에 대한것은 대부분의 윤곽은 잡혔지만 다같이 모여 여러번 이야기를 하며 아직 정확하지 않은 것들을 잡아가야 할 듯 합니다. 그리고 {{{~cpp DBConnectionManager}}}를 통해 ZP 서버의 MySQL에 접속해보고 몇가지 테스트를 해 보았습니다.(테이블 만들기, 자료 추가하기, 자료 조회하기) --상규
  • SmallTalk/강좌FromHitel/강의3 . . . . 6 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
         들어가는 객체를 만들기 위한 명령들이 들어 있습니다. 비유를 들어보면,
         생깁니다. 그러므로 집이 있고 그 집을 만들기 위한 설계도가 있는 것입니
         다. 마찬가지로 '본'에는 무수히 많은 객체들이 있고, 이 객체들을 만들기
         는 객체를 만들기 위해서 "3 + 4."라는 명령을 한 것이고, 이 결과 생겨나는
  • TheWarOfGenesis2R/일지 . . . . 6 matches
          * [[HTML(<STRIKE>)]] DirectDraw 복습으로 알카노이드 만들기. [[HTML(</STRIKE>)]] - 1시간
          * [[HTML(<STRIKE>)]] 타일에디터 만들기 [[HTML(</STRIKE>)]] - 2시간 30분
          * 메인 프로그램 : 스크립트를 읽어오기가 가능하다.
          * 메인 프로그램 : 스크롤시 맵을 벗어나면 스크롤이 되지 않는다.
          * 메인 프로그램 : 전투루틴 (일부) 포팅.
          * 메인 프로그램 : 전투루틴 완전 포팅
  • TugOfWarInput . . . . 6 matches
         이 자료를 TugOfWar 프로그램에 넣으면 (심사 서버에서) 10초 이내에 다음 결과가 나와야 한다.
         참고로 TugOfWar 온라인 로봇 심사위원은 틀렸다. 잘못된 프로그램(50,50,100,200 경우 답이 150,250이어야 하는데, 200,200인 프로그램도 통과)을 걸러내지 못한다.
         사람이 총 네사람 있다. 몸무게가 각각 50, 50, 100, 200이다. 이 네사람을 두 팀으로 나눈다면 가능한 경우는 둘 씩 나누는 경우 하나 뿐이다. (하나 셋으로 나누면 두 팀의 인원 차이가 2가 되어서 부적격) 둘 둘 나눌 때 두 팀 간 몸무게 차이가 최소가 되는 경우는 150, 250인 경우이다. 200, 200으로 나누는 것은 불가능하다. 그러나 현재의 온라인 로봇 심사위원은 이런 틀린 답이 나올 "예리한" 테스트 케이스를 포함하고 있지 않아서 잘못 작성된 프로그램도 통과시킨다.
         제대로 작성된 프로그램은 당연히 온라인 로봇 심사위원의 테스트 케이스를 모두 통과하며, 게다가 덤으로 50,50,100,200 인 경우에도 통과한다. 하지만 Programming Challenges 책에 실린 모법 답안 등의 프로그램은 로봇 심사위원의 테스트는 통과하지만 50,50,100,200 같은 경우는 실패한다.
  • XMLStudy_2002/Start . . . . 6 matches
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
          *XML문서는 택스트 파일이라는 형태로 저장되므로, XML파일 자체는 OS나 특정 프로그램에 의존적이지 않는 특성을 지닌다.
          *XML 응용프로그램이란 이러한 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
          *Kawa4.0에서는 Project나 Workspace에 대한 정보 및 기타 몇 가지 프로그램에 대한 정보를 XML문서 형태로 유지
         엘리먼트를 사용할 때 이 어트리뷰트가 빠져 있다면,이를 반드시 XML 프로세서가 응용 프로그램에 이를 알려주어야 함을 의미함
  • YetAnotherTextMenu . . . . 6 matches
         이번에도 역시나 텍스트 메뉴를 입력도구로 사용하는 프로그램이다.
         보통 ToyProblems를 내줄 때, 입력양식으로 텍스트 메뉴를 이용하라는 요구사항이 주어지기도 한다. JuNe이 보기에는 이것은 "단견"이다. 학생들은 매번 비슷한 방식으로 텍스트 메뉴 프로그램을 만들 것이고, 매번 거기에 일정 시간을 빼앗길 것이다. 재미있게도 텍스트 메뉴를 사용하는 프로그램을 작성하면, 학생들이 만드는 프로그램 역시 그 메뉴의 구조를 닮는다. 이것은 그다지 바람직하지 않은 경우가 많다.
         표준 입, 출력으로 간단하게 입력 받고 출력하게 하라. 입력자료는 다른 프로그램의 출력일 수 있다고 가정하고, 출력자료는 다른 프로그램의 입력으로 들어갈 수 있다고 가정하라.
  • 데블스캠프2011 . . . . 6 matches
          || 1 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 8 ||
          || 2 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 9 ||
          || 3 || [변형진] || [:데블스캠프2011/첫째날/개발자는무엇으로사는가 개발자는 무엇으로 사는가] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 10 ||
  • 데블스캠프2013/셋째날/후기 . . . . 6 matches
          * 사실 자바를 약~간 깨작거렸지만 다른 사람들이 GUI를 사용하는 프로그램을 만드는 것을 보고 어떻게 하는 것인지 굉장히 궁금하였는데 이번 기회에 알게 되어서 너무나도 기뻤습니다 :D - [조영준]
          * 회장님이 자바실습시험때, 이걸 이용해서 짜면 편하다고 추천해 준 것이었는데, 하지만 코드가 은근히 어려워져서 세세한 부분을 건드릴 때에는 더 많은 시간이 걸릴 것 같아서 안 쓴 윈도우빌더군요! 사실, 이 단점은 GUI 툴킷 프로그램이 짊어지고 가야 할 문제일 수도 있지만, 이번에 나름대로 빠른 프로그램 제작에는 편하겠구나라는 생각을 가지게 되었습니다. - [김해천]
         = 서민관 / HTTP 프로토콜, C언어를 이용한 웹 서버 만들기 =
          * 개인적으로 좀 아쉬움이 큰 세션이었습니다. 물론 머신 러닝이 쉬운 주제가 아니라는 건 맞습니다. 하지만 오히려 그렇기 때문에 강사 입장에서는 최대한 난이도를 낮추기 위한 노력들을 할 수 있지 않았을까 하는 생각이 조금 남습니다. 적어도 새내기나 2학년 들이 머신 러닝이라는 뭔가 무서워 보이는 주제 앞에서 의욕이 사라질 수 있다는 생각을 했다면, 전체적인 알고리즘의 간단한 의사 코드를 보여주거나, DataSet을 줄인다거나 해서 조금 현실적인 시간 내에 결과를 보고 반복적으로 소스 코드를 손을 볼 수 있게 할 수 있지 않았을까요. 적어도 간단한 샘플 소스를 통해서 이 프로그램이 어떻게 돌아가는가, 어떤 input을 받아서 어떤 output을 내는가 등에 대해서 보여주었다면 더 재미있는 실습이 될 수 있지 않을까 하는 생각이 듭니다. 머신 러닝은 흥미로운 주제지만, 흥미로운 주제를 잘 요리해서 다른 사람들에게 흥미롭게 전해줄 수 있었는가를 묻는다면 저는 좀 아쉬웠다는 대답을 할 것 같습니다. - [서민관]
          * 제가 아는 김태진 형님이 맞습니다. 난이도는 확실히 어려웠습니다만, 새내기는 나름대로 생각해 볼 만한, 2~3학년 분들에게는 고민을 하게 하는, 모든 사람들이 대부분 도전해 볼만한 난이도였다고 봅니다. 저는 새내기가 생각하는 방향을 그대로 따라가면서 코딩을 해 줬는데, 잘 하더군요. 다행이었습니다! 아쉬웠던 점이라면, 데이터량이 너무 많아서 코딩하는 시간보다 검증하는 시간이 더 오래 걸렸네요. 다음에 이런 것을 하시게 될 사람이 있으시다면, 데이터량을 1/10 정도로(4000개는 넘지 말아 주세요..ㅠ) 줄여주셨으면 합니다. 프로그램이 실행해서 다 돌아가는 데 15분이 걸리다니요!!..ㅠㅠ 멀티코어를 쓰시던 분도 10분을 돌리셨다고 하더라고요.. - [김해천]
  • 새싹교실/2012/AClass/4회차 . . . . 6 matches
         8.다음 형태로 출력되는 프로그램을 짜 보세요.
         9.2중포인터를 이용하여 3x3행렬을 두개 만들고, 두 배열의 합을 출력하는 프로그램을 짜보세요.
         8. 다음 형태로 출력되는 프로그램을 짜 보세요.
         9. 2중포인터를 이용하여 3x3행렬을 두개 만들고, 두 배열의 합을 출력하는 프로그램을 짜보세요.
         LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         1)기존 자료형의 이름을 프로그램 내부에서 다른 이름으로 사용할 수 있게 하는 것
  • 우리홈만들기 . . . . 6 matches
          '''홈페이지 만들기 놀이~~'''
          *지금 이 프로젝트는 28일까지 마감을 하고 졔,혜영,남훈이가 웹프로그램을 공부한다고 하니
          *'''웹프로그램배우며 놀기'''란 프로젝트를 만들기 바람~~
          *예를들어 리눅스,파이선,자바,웹프로그램등을 공부할수있다
          * cgi 로 만들기로 정했음. 같이 할사람? 없으면 혼자 할것임.. (적어도 내일까지 남겨주시기를, 개강전까진 해야할테니;) 그리고 광식아 넌 좀 도와다오..; 이미 만들었잖아 :) ;; -zennith.
  • 위키설명회 . . . . 6 matches
         [부드러운위키만들기]를 시도해 본 행사
          * 새로운 유저 만들기
          * 페이지 만들기
          * 페이지 만들기 방법 1 : 최근바뀐글 옆에 페이지 이름을 쓰고 EditText -> 변경 사항 저장
          * 표 만들기 - 안 가르쳐주고 직접 찾게 함
          * 로그인과 페이지 만들기를 하면서 UserPreferences가 이상해지고, [페이지이름]의 규칙을 어긴 페이지가 많이 만들어졌습니다.--[Leonardong]
  • 제13회 한국게임컨퍼런스 후기 . . . . 6 matches
          * 점심을 먹고 키노트를 들었는데, 처음 키 노트는 장황하게 이야기를 했다만 결국 ‘한국 시장 좋음 ㅋ’ 이 이야기... 쩝.. 그리고 두 번째 키노트는 가상현실로 주목을 받고 있는 Oculus였다. 보다 실감나는 가상현실을 만들기 위해 무엇을 해야 하는지, 왜 이것을 해야 하는지에 대한 내용이었다. 결국 ‘보다 실감나게 게임을 하려면 가상현실을 해야함 ㅇㅇ’ 이 내용..
         || 10:30 – 11:30 || Unity3D와 UPS로 멀티플레이 게임 만들기 || 노영하(머치디퍼런트) || Programming ||
          * 두 번째 들은 세션은 자기 회사의 프로그램? API를 이용해 서버를 만들고 채팅을 하고 뭐 이런 이야기를 예시를 통해 보여주었다. 그냥 가져다 쓰면 되요 라는 말과 함께 이것 저것 예시를 보여주었는데, 결국 자기 회사 홍보였다.
          * 세 번째 세션은 또 음악의 세계로... 역시나 자기네 회사 프로그램을 사용하면 사운드 효과를 다양하게 낼 수 있다는 것에 대해서 이야기 해 주었다. 뭐 Chaining 관계를 이용한 소리의 조합이라나 뭐라나..
          * 프로그래밍과 관련한 부분이 아닌, 다른 부분 (그래픽, 오디오 등)에 대한 이해도 할 수 있었고, 다양한 프로그램들을 알 수도 있긴 했다만 뭔가 대부분이 자신들 업체 홍보에 조금 주안점이 있지 않았나 라는 생각이 들었다. – 물론 안 그런 세션도 있었고 – 특히 직접 보여주는 부분은 같이 좀 해 보았으면 더 좋지 않았나 라는 생각이 들긴 했지만 또 그렇게 하기에는 물량 지원적인 문제도 있으니... 노트북 가져오라고 했으면 좋았을 것을.. 뭐 이런 잡다한 생각이 들기도 했다.
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 6 matches
          * 모든 프로그램의 요소를 각각의 독립적인 객체로 생각한다.
         || 프로그램을 기능단위로 세분 || 프로그램을 object 단위로 세분 ||
         || 소,중형 프로그램에 적합 || 대형 프로그램 작성에 적합 ||
         설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
  • 타도코코아CppStudy/객체지향발표 . . . . 6 matches
          * 모든 프로그램의 요소를 각각의 독립적인 객체로 생각한다.
         || 프로그램을 기능단위로 세분 || 프로그램을 object 단위로 세분 ||
         || 소,중형 프로그램에 적합 || 대형 프로그램 작성에 적합 ||
         설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
  • 후기 . . . . 6 matches
         함수형 언어 Haskell을 배우는 시간을 많이 가졌는데 참 재미있었다. 더욱 재미있는 것은 함수형 언어의 좋은 점이 다른 언어에도 녹아들 수 있다는 것이다. 수학에서 출발하는 개념이 실제로 쓰이도록 중간에서 다리 역할을 하고 있다. 수학이 프로그램 언어에 미치는 영향력을 볼 때 학부 때 컴퓨터 공학 대신에 수학을 전공해도 좋을 것 같다. 그게 안 된다면 대안언어축제라도 참가하면서 [성장]할 수 있어야 한다.
         대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
         더 대중적인 축제를 만들 생각도 해 보았다. 사람에게 감각적인 자극을 줄 수 있는 언어나 그 언어로 만들어진 프로그램, 혹은 다른 무언가가 있으면 어떨까? Mathmetica에서 프랙탈로 삼각형을 그리는 모습을 보고 사람들은 감탄했다. 패널토론 도중에 Squeak에서 보여준 시뮬레이션 역시 놀라웠다. 마이크로칩을 프로그램하여 모르스 부호를 불빛으로 깜박거리는 모습도 신기했다. 프로그램 언어에 익숙하지 않은 다른 분야를 공부하는 참가자들은 눈에 보이지 않는 동작 보다는, 감각적인 자극에 많은 호기심을 느낄 것이다. 시각 이외에 다른 감각을 자극하는 볼거리가 준비된다면 가족끼리 대안언어축제에 놀러 올 수 있을 것 같다. 마치 구경도 하고, 직접 체험해 볼 수도 있는 전시장에 온 것 같은 기분을 낼 수 있을 것이다.
  • 10학번 c++ 프로젝트 . . . . 5 matches
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
  • 2thPCinCAUCSE . . . . 5 matches
          * 문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다. 2002년도 문제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM문제샘플풀이"] 참조)
          * 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 문제가 됩니다.
          * 프로그램 작성시 유의 사항:
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          * ["2thPCinCAUCSE/ProblemA"] - A번 문제 "성냥개비로 삼각형 만들기"
  • 2학기파이선스터디/클라이언트 . . . . 5 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
          * ChatMain? : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또한 채팅에 접속한 사람들의 ID를 보여준다.
  • 3rdPCinCAUCSE . . . . 5 matches
         문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다.
         - 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 것임.
         프로그램 작성시 유의 사항:
         1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
         7. 각 문제마다 테스트 케이스가 5-10개가 있는데, 프로그램은 첫째 테스트 케이스를 입력하여 첫째 답을 출력하고, 둘째 테스트 케이스를 입력하여 둘째 답을 출력하고, ... 등으로 진행해야 한다.
  • AsemblC++ . . . . 5 matches
         어셈블 코드들을 쉽게 보여준다면 프로그램의 보안 문제에도 직접적으로 연관이 되는 군요. 수정에 관한 보안장치도 있을 것이고요. 패리티 같은 단순한 보안장치일지라도 코드의 무결성을 지키면서 어셈블을 수정하기란 쉬워 보이지 않네요. - 톱아보다
          .exe 파일에 대한 어셈블리 코드는 역어셈블러(아래 상협이가 말한 softice와 같은 프로그램)만 있으면 쉽게 얻을 수 있습니다. 수정에 관한 보안장치도 전혀 없구요. 하지만 .exe 파일에 대한 어셈블리 코드는 분석하거나 수정하는것 자체가 거의 불가능할 정도로 어렵습니다. 이유는... 시간이 없어서 나중에 쓰도록 하죠-_-; --[상규]
         Softice같은 프로그램을 사용해서 시리얼 번호가 있는 프로그램이나 날짜 제한 프로그램을 크랙 하기도 합니다. 이번 디버깅 세미나에서 함 해볼라고 그랬는데 집에 있는 컴퓨터에서 그게 잘 안돌아가서 보류함. - [상협]
  • AutomatedJudgeScript . . . . 5 matches
         이 프로그램에서는 정답과 제출된 프로그램에서 만들어낸 출력 결과가 들어있는 파일을 받아서 아래에 정의된 방법에 따라 Accepted, Presentation Error, Wrong Answer 가운데 하나로 답해야 한다.
         Accepted : 제출된 프로그램에 의한 출력 결과가 정답과 완벽하게 일치하는 경우에 'Accepted'라고 답한다. 모든 문자가 똑같은 순서대로 매치되어야만 한다.
         Wrong Answer : 제출된 프로그램에 의한 출력 결과가 위에 나와있는 두 가지 범주에 속하지 않는다면 'Wrong Answer'라고 답해야 한다.
         입력은 임의 개수의 입력 세트로 구성된다. 각 입력 세트는 정답의 줄 수를 나타내는 100 미만의 양의 정수 n이 들어있는 행으로 시작된다. 그 다음 n개의 줄에는 정답이 입력된다. 그 다음 줄에는 제출된 풀이의 출력 결과의 줄 수를 나타내는 100 미만의 양의 정수 m이 들어있는 행이 입력된다. 그 다음 m개의 줄에는 제출된 프로그램에서 출력한 내용이 입력된다. n으로 0이 입력되면 입력을 종료하고 그 행은 처리하지 않는다.
  • DevelopmentinWindows . . . . 5 matches
         윈도우즈 운영체제 기반의 프로그램 개발에 대해 소개하는 세미나 입니다. 02학번들에게 많은 도움 되었으면 좋겠습니다.
          * 프로그램이 순차적으로 실행되지 않고 메시지 발생에 따라 실행이 되는 방식
          * 코드를 여러 프로그램에서 공유하므로 메모리를 절약할 수 있다.
         === 윈도우즈 API를 이용한 예제 프로그램 ===
         === MFC를 이용한 예제 프로그램 ===
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 5 matches
         프로그램상에서의 캡슐화의 의미는 프로그램 분석자나 설계자가 주어진 문제를 데이타와 함수들의 세부사항들은 개발의 차후단계에서 정의하고, 객체라는 덩어리 단위로 문제에 대해 생각하게 하는 추상화의 수단을 제공하는 데 있다.
         속성 상속이라는 개념 역시 우리의 일상 생활에서 흔히 사용하는 개념을 프로그램으로 표현하기 위한 편리한 수단이다. 어떤 객체의 종류, 즉 클래스는 좀 더 세분화하여 분류할 수가 있는데 이렇게 세분화된 종류나 유형을 subtype 혹은 subclass라고 한다.
         객체 지향 프로그램의 중요한 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 말한다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미한다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단한 텍스트 화일(text file), 문서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현한다.
         위에서 살펴볼 캡슐화와 정보 은폐의 이점은 우선 객체 내부의 은폐된 데이타 구조가 변하더라도 주변 객체들에게 영향을 주지 않는다는 것이다. 예로서, 어떤 변수의 구조를 배열(array)구조에서 리스트(list) 구조로 바꾸더라도 프로그램의 다른 부분에 전혀 영향을 미치지 않는다. 또한 어떤 함수에 사용된 알고리즘을 바꾸더라도 signature만 바꾸지 않으면 외부 객체들에게 영향을 주지 않는다. 예를 들어, sorting 함수의 경우 처음 사용된 sequence sorting 알고리즘에서 quick sorting 알고리즘으로 바뀔때 외부에 어떤 영향도 주지 않는다. 이러한 장점을 유지보수 용이성(maintainability) 혹은 확장성(extendability)이라 한다.
  • HelpOnConfiguration . . . . 5 matches
         MoniWiki는 `config.php`에 있는 설정을 입맛에 맛게 고칠 수 있다. config.php는 MoniWiki본체 프로그램에 의해 `include`되므로 PHP의 include_path변수로 설정된 어느 디렉토리에 위치할 수도 있다. 특별한 경우가 아니라면 MoniWiki가 설치된 디렉토리에 config.php가 있을것이다.
         모니위키의 몇몇 플러그인중 외부 프로그램을 사용하는 프로그램은 환경변수 PATH를 참조하여 외부 프로그램을 호출하게 된다. 이때 PATH의 설정이 제대로 맞지 않아 외부 프로그램이 제대로 실행되지 않는 경우가 있다. 이 경우 config.php에서 `$path`를 고쳐보라.
  • InsideCPU . . . . 5 matches
         1. 처음 컴퓨터를 키면 참조하는 메모리가 F000:FFF0 이라는 부분이다. 여기서 CPU는 ROM-BIOS를 적재하게 되고 제어권이 ROM-BIOS의 프로그램으로 넘어가게 된다.
         2. 이후 ROM-BIOS는 일련의 CHECK 프로그램을 실행 시킨다. 흔히 보는 하드웨어 CHECK와 메모리 CHECK가 여기에 속한다.
         5. 그럼 로더 프로그램이 적재 된 상태이다. 이것으로 부팅은 끝이다. 이후 부터는 로더가 작업을 실행한다.
         위에 로더는 1섹터(512KB) 밖이 되지 않는다. 이는 작은 프로그램 밖이 실행 할 수 없고 메모리의 위치가 0000:7C00으로 불안한 위치이다. 대부분의 커널의 경우 이 메모리 블럭을 넘어서는 크기를 갖게 되므로 바로 커널을 로딩할 경우 로더의 메모리를 잡아 먹게 된다. 그래서 보통 Kernel로더는 자신을 보다 먼 곳의 안전한 곳으로 이동시키고 커널을 로딩하게 된다.
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용한다. 이를 위한 인터럽트는 INT 13h가 된다.
  • JavaNetworkProgramming . . . . 5 matches
          *동기화의 효율 : 대부분의 경우 동기화 작업은 매우 중요하며, 때로는 적대 생략해서는 안되는 경우도 있다. 그러나 불필요한 동기화 작업은 프로그램의 수행 성능을 떨어뜨리고, 재사용성을 감소시키며, 프로그램이 교착 상태에 빠지게 할 수도 있다.
          *6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
          *스트림 : 네트워크 프로그램에서 아주중요한부분 --> 요책이 스트림에대해서 자세히나온다.딴데는 대충 설명하는데...--;
          *표시/리셋(mark/reset)기능을 갖춘 FileInputStream만들기
  • Linux/배포판 . . . . 5 matches
         사실상 리눅스의 다양한 프로그램들을 개인이 따로 관리한다는 것은 굉장히 어렵다. 패키지가 정적인 형태가 아니라 리눅스는 지속적인 엡데이트를 하는데, 통일된 방식으로 관리를 해준지 않으면 나중엔 어떤 프로그램을 어디에 깔았는지 조차 알기힘들어진다. (대략 도스시절 컴퓨터에 프로그램을 마구잡이로 까는 사람을 생각해보면 알듯.. -_-;) 이런 이유로 매키지 매니저라는 것을 사용하고 잇으며, 패키지 매니저는 상기와 같은 일들을 자동화된 방식으로 제공한다.''
         국내의 배포판은 대부분 레드햇의 패키지 방식인 RPM(Redhat Package Manager)를 채용한다. RPM의 경우 단일 패키지르 중심으로하는 경향이 강하고 의존성에 상당히 관대한 패키지 방식으로 알려져있다. ''(데비안유저인 관계로 잘모른다.)'' 알려진 바로는 느슨한 패키지 의존성때문에 처음에는 편하지만 나중에 엉켜있는 패키지를 관리하기가 좀 까다롭다는 의견도 많다. 레드햇 리눅스는 현재 공개방식으로 배포되지 않는다. 기업용 혹은 웍스테이션을 위한 돈주고 파는 버전만 존재한다. 대신에 레드햇사는 페도라라는 리눅스 배포판을 지원하고 있으며, 레드햇의 사이트를 통해서 배포가 이루어진다. 대부분의 패키지가 CD안에 통합되어 있으며, 대략 최신 패키지 들이 패키징되어있다. (050626 현재 페도라4가 얼마전에 발표되었다 4+1CD) 페도라 리눅스는 레드햇의 불안정판 정도라고 생각하면 되고, 실제로 최신의 패키지들로 묶어서 내놓고 잇다. 페도라에서 얻어진 피드백을 통해서 레드햇에 반영하고 이로부터 안정적인 리눅스 서버 OS를 발표한다. ''ps) 의존성? 리눅스의 각패키지는 각기 다른 프로젝트로 진행되어 만들어진 것들을 다시 사용하는 경우가 많다. 따라서 각기 독립적인 패키지 만으로는 프로그램이 실행이 안되어 경우가 있는제 이런 경우 의존성이 있다고 말한다.''
         리눅스를 처음 시작하면서 어떤 배포판을 선택하는 지는 중요하다. 같은 리눅스이기는 하지만 사실 대부분의 리눅서들은 패키지 매니저를 이용하여 프로그램을 설치하는 편이지, 자신이 원하는 버전이 패키지 트리에 없다던가 버그가 있는 경우를 제외하면 직접 제작사 홈페이지에서 바이너리를 설치하는 경우는 거의 없다. 이럴때 동일한 패키지를 쓰는 사람한테 묻기가 편하고 이해하기가 편하기 대문이다. 2005년 현재 리눅스를 시작한다면 현시점에서는 [http://www.ubuntulinux.org/ Ubuntu]를 가지고 시작해서 [http://www.debian.org Debian] 으로 옮겨가길 권한다. 동일한 패키징 방식을 가지고 있으면서 우분투는 데스크탑 리눅스를 표방하고 있는 만큼 다루기가 쉽기 때문이다. 우분투에서 기본을 익히고 직접 서버를 운영하는 수준으로 올라가면 데비안으로 옮겨가면 배포판을 바꾸는데에 대한 부담을 전혀 느낄 필요가 없다. 나의 경우 대략 2주일 정도를 밤새면서 이런 저런 문제를 해결하면서 왠만한 문제는 이제 스스로 해결할 정도가 되었는데... 한번쯤은 해볼 만한 도전이라고 생각한다. 쓰다보면 윈도우 없이도 살 수 있는 세상도 있다는 생각도 하게 된다. 실제로 리눅스를 쓰는 사람들은 가장 게으른 배포판으로 데비안, 젠투정도를 꼽는다. 그만큼 잘 안변하고 한번 설치하면 거의 새로 설치해야할 일이 없다는 것을 말하는 것이다.
  • MicrosoftFoundationClasses . . . . 5 matches
         CExApp Application; // 운영체제가 윈도우를 만들기위해서는 이를 참조할 전역 변수가 필요하다.
         하나의 단위로서 다루어지는 프로그람안에 존재하는 프로그램 데이터의 레이블 정도로 생각하면 편하다. MFC에서는 이를 CDocument 라는 클래스로 제공하고 프로그래머는 이 클래스를 상속받아서 자기가 필요한 데이터형을 정의하고 그 데이터를 처리할 메소드를 작성하게 된다.
         응용프로그램에서 document를 몇개를 다루느냐에 따라서 SDI(single document interface), MDI(multiple document interface)로 구분하여 사용한다.
          도큐먼트 템플릿 객체는 단순히 document 만을 관리하는 것이 아니다. 그들 각각과 관계되어 있는 윈도우와 뷰들도 함께 관리한다. 프로그램에서 각기 다른 종류의 도큐먼트에 대해서 하나씩의 document template이 존재한다. 만약 동일한 형태의 document가 2개이상 존재한다면 그것들을 관리하는데에는 하나의 document template만 있으면 된다.
          * {{{~cpp 응용프로그램 객체 theApp 생성}}}
  • MoniWikiTutorial . . . . 5 matches
         == 첫째고개: 계정만들기 ==
          * 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
         == 아홉째고개: 페이지 새로만들기 ==
          * 비슷한 주제의 다른 페이지가 없다면 페이지 만들기를 가리키는 아이콘 혹은 링크를 눌러줍니다.
         페이지를 만들기 전에 비슷한 주제 혹은 약간 다른 이름의 페이지가 이미 있는지 확인해 보시기 바랍니다.
  • MoreEffectiveC++ . . . . 5 matches
          * ANSI C++에 대한 제반적인 내용을 깔끔한 필체로 쉽게 쉽게 다루고 있다. 명확한 개념 설명이 돗보인다. 프로그램과 디자인 능력을 향상시키는 35개의 방법이 제시되어 있다. 배치, 가상 생성자, 포인터 레퍼런스 카운팅, 프락시 클래스, 더블 디스패치와 같은 C++의 보다 세련된 기술에 대해 설명하고있다.
         - 향후 프로그램
         - 동일 프로그램상에서 C++과 C의 결합
          * Item 32: Program in the Future tense - 미래를 대비하는 프로그램
          * Item 34: Understand how to combine C++ and C in the same program. - 같은 프로그램에서 C++와 C를 혼합하는 법 이해해라.
  • MoreEffectiveC++/Techniques2of3 . . . . 5 matches
         Reference counting(이하 참조 세기, 단어가 길어 영어 혼용 하지 않음)는 같은 값으로 표현되는 수많은 객체들을 하나의 값으로 공유해서 표현하는 기술이다. 참조 세기는 두가지의 일반적인 동기로 제안되었는데, '''첫번째'''로 heap 객체들을 수용하기 위한 기록의 단순화를 위해서 이다. 하나의 객체가 만들어 지는데, new가 호출되고 이것은 delete가 불리기 전까지 메모리를 차지한다. 참조 세기는 같은 자료들의 중복된 객체들을 하나로 공유하여, new와 delete를 호출하는 스트레스를 줄이고, 메모리에 객체가 등록되어 유지되는 비용도 줄일수 있다. '''두번째'''의 동기는 그냥 일반적인 생각에서 나왔다. 중복된 자료를 여러 객체가 공유하여, 비용 절약 뿐아니라, 생성, 파괴의 과정의 생략으로 프로그램 수행 속도까지 높이고자 하는 목적이다.
         참조세기는 보통의 객체들을 공유해서 시스템의 비용을 줄이고자 하는 최적화 기술이다. 즉, 공유를 많이 하지 않은 프로그램 객체에 대하여 이를 적용하면 더 많은 비용과, 더 복잡한 프로그램을 작성할수 밖에 없다는 결론이 나는 것이다. 그 반대라면, 시간, 공간 비용 모두를 아끼게 해줄 것이다. 그러한 상황을 생각해 본다.
         Array2D 클래스의 클라이언트는 Array1D클래스에 관해서 신경 쓸필요 없다. 이러한 객체는 1차원의 배열에대한 객체의 표준이지만, 개념적으로는 존재하지 않는다. 이것들을 실제로 쓰는 그러한 클라이언트들은 이차원 배열을 정확히 프로그램 한다. C++의 엉뚱한 짓을 만족시키기 위하여, 일차원 배열을 다루는데 문법적으로 정확히 구현한 Array2D의 클라이어트들이 걱정하는 일이 없다.
         또 Proxy 클래스는 단점도 많이도 가지고 있다. 함수가 값을 반환할때 프록시 객체들은 임시 인자(temporaries:Item 19참고)로 전달된다. 그래서 그들은 생성, 삭제된다. 이것은 공짜가 아니다. 읽기와 쓰기의 경우를 가리기 위한 조치도, 임시인자를 만들기 때문에 비용이 발생한다. 프록시 클래스가 있어서 소프트웨어 구조는 복잡해 진다. 더 어려운 디자인, 구현, 이해 그리고 유지 보수..
  • NSIS/Reference . . . . 5 matches
         || Name || "zp_exam_project" || 인스톨러 이름 (보통은 인스톨하려는 프로그램의 이름) ||
         || Exec || command || 특정 프로그램을 실행하고 계속 다음진행을 한다. $OUTDIR 은 작업디렉토리로 이용된다. ex) Exec '"$INSTDIR\command.exe" parameters'||
         || ExecWait || command [user_var(exit code)] || 특정 프로그램을 실행시키고, 종료될 때까지 기다린다. ||
         || ExecShell || action command [parameters] [SW_SHOWNORMAL | SW_SHOWMAXIMIZED | SW_SHOWMINIMIZED]|| ShellExecute를 이용, 프로그램을 실행시킨다. action은 보통 'open', 'print' 등을 말한다. $OUTDIR 은 작업디렉토리로 이용된다.||
          * $SMSTARTUP - 시작메뉴 programs/startup folder. 즉, '시작프로그램'
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 5 matches
         ||7||int E2BIG||인수가 너무 길다;실행함수에 의해서 실행되는 새로운 프로그램에 주어진 인수가 너무 큰 메모리 공간을 사용할 때.||
         ||32||int EPIPE||부러진 파이프; 다른 파이프의 끝에서 프로세스를 읽는 것은 불가능 하다. 모든 라이브러리 함수 는 SIGPIPE로 일반화된 에러코드를 리턴한다. 이 신호는 만약 처리되지 않거나 막아지지 않으면 그 프로그램을 멈추게 한다. 그러므로 프로그램이 처리되거나 블록된 SIGPIPE를 갖지 않으면 항상 EPIPE가 보일 것이다.||
         || || ||참고로 sysbolic links는 데이터베이스 프로그램과 스프레드 시트 등과 같은 프로그램들 사이에서 상호 간의 원활한 데이터 교환을 위해 사용되는 데이터 파일의 형식||
  • PC실관리/고스트 . . . . 5 matches
         = GHOST 이미지 생성시 필요한 프로그램 목록 =
          이 계정의 경우 Users 로 계정을 제한해서 프로그램의 설치및 제거에 제한을 두어야 차후에 문제가 발생하지 않을 것으로 생각됨.
         음 한번 정리해봤는데 더 추가해야할 것이 있는지 모르겠음. 프로그램 목록은 개발과 관련된 것. 계정 접속에 관련된 기본적인 프로그램 중 가장 좋다고 생각하는 것으로 넣었음. - [eternalbleu]
         몇가지 프로그램빼고는 현재 다 깔려 있는 상태 입니다.설정 상태도 현재 계정빼고는 위설정과 동일 합니다.... -수생
  • ProgrammingLanguageClass/Report2002_2 . . . . 5 matches
          * 결과물은 주어진 것들에 의해서 만들어지는 테스트 프로그램을 순서대로 제출하라. 채점은 아마 테스트 프로그램의 품질이 많은 영향을 미칠것이다.
          * 보통, floppy diskette에 당신의 프로그램과, 테스트한 데이터들과 실행에 의한 결과를 제출한다.
          * 프로그램의 완벽한 수행을 위해서 당신의 데스트 데이터를 신중히 설계하라. 또한 당신의 테스트 프로그램 내부에 합당한 문서를 첨부하는 것을 추천한다.
  • ProgrammingPearls/Column4 . . . . 5 matches
          * 프로그램의 correctness를 판별하기 위해, 프로그램의 중간중간에 assert를 집어넣고 있다.
          * 프로그램을 한줄한줄씩 따라 내려가면서 Loop에서는 위의 원칙을 적용해 corret한가를 검사하고 있다.
          * Assertions : 입력, 변수, 출력간의 관계는 프로그램의 상태를 묘사해준다. assertion은 그들의 관계를 정확히 말해준다.
          * Sequential Control Structures : 이 문장 다음에 저 문장. 그 사이에 assertion을 집어넣는다. 그럼 프로그램 문장 하나하나의 각각의 진행상황을 체크할수가 있다.
  • RefactoringDiscussion . . . . 5 matches
          * 코드의 의도가 틀렸느냐에 대한 검증 - 만일 프로그램 내에서의 의도한바가 맞는지에 대한 검증은 UnitTest Code 쪽으로 넘기는게 나을 것 같다고 생각이 드네요. 글의 내용도 결국은 전체 Context 내에서 파악해야 하니까. 의도가 중시된다면 Test Code 는 필수겠죠. (여기서의 '의도'는 각 모듈별 input 에 대한 output 정도로 바꿔서 생각하셔도 좋을듯)
         로직이 달라졌을 경우에 대한 검증에 대해서는, Refactoring 전에 Test Code 를 만들것이고, 로직에 따른 수용 여부는 테스트 코드쪽에서 결론이 지어져야 될 것이라는 생각이 듭니다. (아마 의도에 벗어난 코드로 바뀌어져버렸다면 Test Code 에서 검증되겠죠.) 코드 자체만 보고 바로 잘못된 코드라고 단정짓기 보단 전체 프로그램 내에서 의도에 따르는 코드일지를 생각해야 될 것 같다는 생각.
         우리에겐 프로그램의 옳음(correctness)이 일차적입니다. 이것은 ["UnitTest"]나 Eiffel 같은 DBC 언어로 상당한 정도까지 보장 가능 합니다.
         그 다음에 비로소 리팩토링의 옳음을 따질 여유가 있습니다. 틀린/틀릴 수 있는 프로그램을 "옳게 리팩토링"하면 역시 틀린/틀릴 수 있는 프로그램이 나옵니다.
  • UDK/2012년스터디 . . . . 5 matches
          * 전시회 낼 작품 만들기
          * 핀볼 게임 만들기 예정 - 카메라는 공에? ㅋ
          좀 더 관심있으면 다음 예제도 도움이 될 듯. [http://udn.epicgames.com/Three/DevelopmentKitGemsConcatenateStringsKismetNodeKR.html Concatenate Strings (문자열 연결) 키즈멧 노드 만들기]
          * 약간의 브레인스토밍 후 RPG만들기 에뮬레이터 스마트폰 버전에 관심
          * 일단 [http://ko.wikipedia.org/wiki/RPG_%EB%A7%8C%EB%93%A4%EA%B8%B0 RPG만들기]에 대한 사전조사
  • ViImproved/설명서 . . . . 5 matches
         ▶파일 데이터 파일 응용 프로그램의 데이터(binary)
          텍스트 파일 응용 프로그램의 source data 또는 문서화된 파일(ASCII)
          모드형 모드형 프로그램이란 서로다른 기능을 가진 모드를 가지고 있어다중환경을 지원한다. 예) 모드에 따라 엔터키의 역할도 달라진다
          비모드형 비모드형 프로그램은 키들을 항상 같은 의미로 사용한다
         >> 오른쪽으로 shiftwith만큼 paragraph 이동 ^r refresh(명령어 모드) !} 현재 문단을 지정된 unix 프로그램으로 연결하여 수행 후 결과를 현재 문단과 교체
  • VoiceChat . . . . 5 matches
         다자간에 프로젝트를 진행할때 같은 장소에서 작업을 하기 힘든 경우 음성채팅을 이용하면 그나마 숨통을 틀 수 있다. MSN 메신저를 비롯하여 음성채팅을 지원하는 여러 메신저의 경우 1:1 만 지원한다. 아래의 프로그램을 사용하면 다자간 음성채팅을 무료로 할 수 있다.
          * 거원소프트에서 만들었다. [http://www.cowon.com/product/d_voice/software/jet-voice-chat/download.html 홈페이지], 가입할 필요가 없고. 한 사람이 채팅서버 역할을 하고 나머지 가 클라이언트가 된다. 음질도 5k, 32k 선택가능.
  • ZeroPageServer/AboutCracking . . . . 5 matches
          * '''다음날 NeoCoin 의 계정에서 (root 말고) 무한 트래픽 발생 프로그램 발견 '''
          * 해결 : 해당 프로그램 갈무리, NeoCoin 의 암호 변경, wu-ftp 서비스 제거. 그 이후 문제 상황 사라짐
          * 해당 프로그램 테스트. 문제 상황을로 보이는 상태 발견
          * 새로운 프로그램 설치 후 라는 시점을 의심해 보자. 가장 기본적인 세팅에 stable 최신 버전 오픈 소스라도 말이다.
          ''아 squid가 3128이 기본 포트인것 같네요 ^^; 햇갈리었어요. (8080도 쓰긴 하지만,) 상대방의 port 25번으로 간다면, 아마 squid설정으로 막을 수 있어요. 영 맘이 안놓이시면 ipfilter 프로그램으로 막으면 확실하죠.--동희''
  • woodpage/쓰레기 . . . . 5 matches
          *실시간 전략 게임 프로그램 (출판사: 정보문화사)
          *홈페이지 만들기["우리홈만들기"] : 홈페이지 웬지 만들고 싶어서 --;
          : 여름방학때 잠시 봤었지만 책이 맘에 안들어서 그냥 있었음 우연히 도서관에서 내가가진 책을 보완해주는 책(JSP 프로페셔널 출판사 가메)이 있어서 같이 봄 웹프로그램은 눈에 보여좋음 ^^;; 게시판을 MVC 2모델로 짰는데 좀나중에 MVC 1모델로 짜볼것임
          *["우리홈만들기"] --> 종료
  • 데블스캠프2002/진행상황 . . . . 5 matches
         우리는 수학문제에 대해 달랑 답만 달아놓으면, 설령 답이 맞더라도 "과정이 없다"고 문제를 틀리기도 한다. 프로그램은 최종적인 "답"이다. 우리는 그 답이 나오는 과정에 너무도 무관심하다.
         참가자들 중 대표로 몇 명의 코드를 프로젝터를 통해 직접 보면서 하나 하나 짚어 나갔다. 그 사람이 어떤 순서로 프로그램을 만들었고, 어떤 의도에서 이걸 이렇게 했는지. 한 줄 한 줄 정말 "많은 것을 가르쳐주고, 배울 수 있겠다" 하는 생각이 들었다. 우리는 "교사/정답에게서만 배운다"는 사고에서 자유로워질 필요가 있다.
         다른 하나는, 요구사항이 어떻게 제시되느냐가 산출물로서의 프로그램에 큰 영향을 끼친다는 점이다. 요구사항이 어떤 순서로 제시되느냐, 심지어는 어떤 시제로 제시되느냐가 프로그램에 큰 영향을 끼친다. 심리학에서 흥미로운 결과를 찾아냈다. "내일은 한국과 브라질의 경기날입니다. 결과가 어떻게 될까요?"라는 질문과, "어제는 한국과 브라질의 경기가 있었습니다. 결과가 어땠나요?"라는 질문에 대해 사람들의 대답은 큰 차이가 있었다. 후자 경우가 훨씬 더 풍부하고, 자세하며, 구체적인 정보를 끌어냈다. 이 사실은 요구사항에도 적용이 되어서, 요구사항의 내용을 "미래 완료형"이나 "과거형"으로 표현하는 방법(Wiki:FuturePerfectThinking )도 생겼다. "This system will provide a friendly user interface"보다, "This system will have provided a friendly user interface"가 낫다는 이야기다. 어찌되었건, 우리는 요구사항이 표현된 "글" 자체에 종속되고, 많은 영향을 받는다.
         처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질문에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
  • 데블스캠프2013/첫째날/후기 . . . . 5 matches
         = 박지상 / 페이스북 게임 만들기 =
          * 데블스 캠프에서 빠질 수 없는 내용인 버전 관리 프로그램 관련 내용을 안혁준 선배가 해 주셨습니다. 전체적으로 깔끔하게 진행한 느낌이었고, 직접 사용까지 해 보면서 새내기들은 조금 더 와 닿지 않았을까 싶네요. 다만 후반의 실습 부분은 약간 구성을 바꾸면 조금 더 매끄럽게 실습을 할 수 있지 않았을까 하는 아쉬운 느낌이 있었습니다. - [서민관]
          * 버전 관리 프로그램이라는 점에 대해서는 작년에도 SVN(이 맞나요?)을 했던 것 같던데, 올해 git을 배워가네요! 근데, 이건 제가 git을 공부를 해야 될 것 같습니다. 이해는 머리속에서 잘 하는데, 사용을 못하겠네요ㅠ_ㅠ. 확실히 저는 습득속도가 느린가봐요ㅠ..어어ㅡㅠㅓ.. - [김해천]
          * 네트워크는 물론 리눅스를 사용해본 것도 처음이었는데 공부할 것이 많은 것 같습니다. 우선 새로운 프로그램을 접해 봤다는 점에서 큰 수확이었다고 생각합니다. 네트워크 장비를 구비하여 시뮬레이트 하기가 쉽지 않을텐데 이렇게 간단하게 프로그램을 사용하여 시뮬레이트 할 수 있다는 것이 신기했습니다.- [백주협]
  • 데블스캠프계획백업 . . . . 5 matches
          * 우선 신입생들이 직접 프로그램에 고민을 많이 하게 했으면 합니다. 기술적인 것보다는 알고리즘을 스스로 생각하게 하는 것을 우선적으로 많이 하게 했으면 합니다. 그리고 전에 창준 선배님이 가르쳐 주신 페어 프로그래밍 방식도 한 번 해 보는 것도 괜찮을 듯 합니다. 구체적인 모습은 저도 좀 생각 하고 다시 쓰겠습니다. 마지막으로 개인적인 이야기지만 작년에 ["데블스캠프"]를 하며 일주일 동안에 정말 많은 걸 배우고 느꼈습니다. 그것을 후배들도 느끼게 했으면 좋겠습니다...^^ --재동
          * 솔직히 저는 ["PairProgramming"]의 장점을 모르겠습니다. 같이 프로그래밍을 하면서 다른 사람의 프로그래밍 기술을 습득하는것이 장점인지 아니면 프로그램의 개발 속도 향상을 하는것이 장점인지 .. 아마도 둘다 장점이 되겠지요. 하지만 ["PairProgramming"]의 목적은 둘중에 개발 속도 향상에 중점을 두고 있다고 생각하네요. 다른 사람의 프로그래밍 기술의 습득은 부가적인 것이구요. 후배들에게 하는 세미나는 개발을 위한게 아니고 실력 향상을 위한 것인데 제가 보기에는 ["PairProgramming"]을 해서 얻는 기술보다는 기존의 방법들이 훨씬더 효과적일거라고 생각하네요. 그들 자신이 이 문제를 어떻게 해결해야 할 것인가에 대한 고민을 하고 자신의 생각을 코드로 표현할 수 있는 능력을 기르는 것. 문제 해결의 해법을 어느정도 찾을 수 있고 자신의 생각을 코드로 표현 할 수 있으며 타인의 코드를 완벽하게는 아니더라도 어느정도 이해 할 수 있는 수준이 된 사람이라면 ["PairProgramming"]으로 얻을 수 있는 기술들은 많을거라 생각하지만 전혀 그렇지 않는 신입생들에게는 무리일거 같군요. -태호-
          * NoSmok:ApprenticeShip 모델을 적용해서, 처음에는 선배 주도로 프로젝트를 하나 하고, 다음에는 조금씩 후배가 안으로 들어오게 하고, 선배는 바깥으로 빠지는 것도 좋습니다. 이 NoSmok:ApprenticeShip 에는 전통적으로 두가지가 있습니다. 재단사들의 경우, 사람이 새로 들어오면 맨 마지막 마무리 일(예컨대 단추달기 등)을 맡깁니다. 그러면서 경험이 쌓이면 공정을 역으로 거슬러 올라오게 합니다. 즉, 이번에는 단추달기도 하고, 주머니 달기도 하는 겁니다. 다음에는 단추달기, 주머니 달기, 팔 만들기처럼 하나씩 늘려 갑니다. 어느 시점이 되면 자신은 Journeyman이 되고 작은 일은 새로 들어온 Apprentice에게 넘기고, 자신은 나름의 확장을 계속하죠. 반대로 처음 공정부터 참여를 시키는 방법(항해사)도 있습니다. 중요한 것은 "주변"(덜 중요한 것)에서 "중심"(더 중요한 것)으로의 점차적 확장이지요. 이렇게 되면 견습공은 매번 "제품의 완전한 개발 과정"을 관찰할 수 있고, 어떻게든 도움이 되는 일을 하며, 그 참여의 영역을 넓혀나가게 되어, 종국에 가서는 전 개발 과정에 참여할 수 있습니다. 장난감 문제(Toy Problem)의 한계를 벗어나는 길이지요. --JuNe
          * 학교를 다니면서 혼자서는 거의 공부하지 않을만한, 그러나 중요한 것들(see also FocusOnFundamentals). 앞으로 학교생활에서 체험하기 힘든 것들. 학교를 졸업할 때까지 유효한 지식으로 남아있을만한 생명력이 긴 것들. 학교생활 동안 공부, 프로그래밍에 영향을 많이 끼칠 메타 수준이 높고 늘상 하는 것들. 사고하는 방법. 프로그램을 만드는 방법. 아마추어 아이디어 맨은 "아이디어"를 만들고, 프로 아이디어 맨은 "아이디어를 대량으로 생성해 낼 수 있는 구조와 과정"을 만들어 낸다고 합니다 -- 프로가 만든 아이디어는 엄청난 양의 아이디어를 자동 생산해 냅니다. 제가 학교를 다닐 때 "프로그램을 생성해 낼 수 있는 구조와 과정"을 선배에게서 배웠더라면 얼마나 좋았을까 하는 생각을 자주 합니다. 예를 들어, 이메일 주소를 찾는 RE를 "답"으로서 가르치거나, 혹은 무작정 시행착오를 거치면서 그 답을 찾으라고 종용하거나 하는 것보다는, 그런 RE를 효율적이고 손쉽게 생성해 낼 수 있는 과정과 인식적 도구를 가르쳤으면 합니다. --JuNe
  • 상협/프로젝트관련 . . . . 5 matches
          * 이건 내가 제일 아끼는 프로그램이다. 오래되어서 잘 기억은 나지 않지만, 고생도 좀 했지만 그래도 무지 뿌듯했다. 개인적으로 한번 짜보면 도움 상당히 많이 되는 프로그램이다. 강추다 강추.
          * 아쉬움이 많이 남는 프로젝트이다. 내가 생각했던 이상적인 프로젝트는 어차피 이런 프로젝트가 다 학습의 한 과정인 만큼 서로 특정한 분야를 맡았다면 프로젝트를 해 나가면서 원활한 의사소통을 하면서 자기가 맡은 부분에 대한 설명을 스터디 그룹 형식으로 다른 팀원에게 해주면 서로 도움이 될거 같았다. 그런데 이 프로젝트는 자기가 맡은 부분만 하고 다른쪽 분야의 학습은 전혀 못했다. 프로그램 완성하기에도 시간이 부족한 힘든 상황이어서 그랬을지도 모른다. 난 JAVA의 소켓이랑 스윙도 좀 알고 싶었는데 그쪽은 거의 모른다. 지금.. ㅡㅡ;; 이거 언제 따로 공부하지.. 쩝..
          * 이건 3D로 처음 짜본 프로그램이라서 좀 애착이 간다.
          ''그냥 팀 이름이 방화벽이 아닌가 하는; 그리고 네트워크 프로그램 개발 경험이 없다면, 소켓통신부터 다루게 하는것이 좋지 않을까요. ^^; --석천''
  • 새싹교실/2011/Noname . . . . 5 matches
          * Hello World! 프로그램 짜보기
          * 함수만들기
          * Factorial 함수만들기
          * 피보나치 수열 함수만들기
          * 하노이탑 함수 만들기
  • 새싹교실/2011/데미안반 . . . . 5 matches
          * 프로그램 완성과정
          * 메모장으로 열어서 글이 깨졌어요 ㅠㅠ 연결프로그램을 Visual Studio로 하면 번역이 정상적으로 되어있을거에요. 숫자가 010100 하면 너무 길어서 16진수로 표현이 되어있는듯 합니다.
         알 수 있었어요. 또 int, char 등의 의미와 역활에 대해 알 수 있었습니다. 오늘 전산처리기와 자료형에 대해 배웠으니 다음은 본격적으로 프로그램을 짜는것을 배우겠다.^^
          * rand()를 이용해서 up-down 게임 만들기
          *실습(2): 문자열을 입력 받는다. 입력 받은 문자열을 구성하고 있는 문자 중에서 아스키코드 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 구현해보자.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 5 matches
          * 월요일 ( 5월 9일 ) 오후 6시에 모든 새싹팀들이 모여서 간단하게 프로그램을 진행합니다~ 나오시오~
          1. 프로그램만들기 위해!
          9. 32비트 컴퓨터에서는 기본 정수형(int)에 대해 32비트의 메모리 공간을 할당해 주는 데에 비해서 64비트 컴퓨터에서는 64비트의 메모리 공간을 할당해 주기 때문에 자료 크기가 달라지고 MSB의 위치가 달라져서 프로그램이 오작동하거나 실행할 수 없게 된다.
          -프로그램이 길어져도 어디가 잘못됐는지 보다 쉽게 찾을 수 있기 때문
  • 새싹교실/2011/앞반뒷반그리고App반 . . . . 5 matches
          * 오늘--- 은 assert랑 do while이랑 while을 배웠고요, for로 십자가 만들기 하려다 새싹끝났어요. "우와아 참 재미있었다-_-" -[김태진]
          * 그거쓰면 중간에 그 값이 거짓일경우 프로그램 따운 시켜버리는거임. 오류검사할때 쓴다고 봐야하려나..?- [김태진]
          에서 assert안이 참일 경우 그냥 지나가버리지만(프로그램이 종료하지만) 그렇지 않을경우
          Assertion failed: (n>100), function main, 과 같이 오류뜨면서 프로그램이 종료됨.
          * 시험기간 직전에 질문시간이었어요. ~~저밖에 오지 않았지만~~ 이날 새롭게 배운것은 (수업시간에 필요없다고 넘긴것이라 필요없었음에도 잔다고 필요없다는 사실을 몰랏음) redirection이었는데요! 뭐냐니 input과 output을 바로 프로그램에서 받고 띄우는 것이 아니라 다른 문서에서 불러오거나 집어넣는 것이었어요. 지금까지는 인풋은 무조건 scanf로 직접 넣었는데, 그것과는 다른것!!이었죠. 사실 방법은 지금 잘 기억나지를 않네요 -_- 아무튼 이런 신기한걸 배웠습니다. -[김태진]
  • 서지혜 . . . . 5 matches
          * ~~지금그때 - 포토잇 다시 만들기~~
          1. 나를 위한 프로그램
          * 사이냅 소프트의 신입사원 채용 테스트 프로그램을 해볼 예정
          1. [Spring/탐험스터디/wiki만들기]
          * 집구석에 서재 만들기
  • 정모/2004.7.26 . . . . 5 matches
          * [알카노이드] - 8월 한 달 동안 자바로 벽돌깨기 만들기
          *회지 만들기
          *소속감 증대를 위해 뱃지 만들기
          *출석부 만들기
          *회지 만들기(웹페이지로 제작)
  • 정수민 . . . . 5 matches
         * 로또복권 당첨돼는 번호가 나올때까지 무한 반복하는 프로그램입니다. *
         프로그램을 총 5번돌려봐서 4번다 5천만이 넘어가서 창을 닫고 다시 실행해봤음;;
          printf ("사칙연산 프로그램입니다.아직은 두개의 숫자만 계산이 가능합니다.n");
         * 로또 복권 번호 자동생성기 프로그램입니다. *
         * 점수를 입렵받아 총점과 평균 순위를 매기는 프로그램입니다.*
  • 조현태/놀이/지뢰파인더 . . . . 5 matches
          눈은 전체화면에서 지뢰찾기 프로그램의 이미지를 추출하는 방식을 생각했으나 그냥 핸들을 구해오는 편한 방법으로 바꿔서 만들었다.
          킁..ㅠ.ㅜ 재앙이다..;;ㅁ;; 앞으로는 이렇게 짜지 말자는거 이외에는 뭐라 할말이 없다. 오랫동안 손대지 않았던 터라, 알고리즘이 잘 생각이 나질 않는다. 그래도 내가 짜서 그런지 금방 알고리즘을 생각해내는데는 성공했지만... 많은 부분을 수정했으나, 더 많은 재앙들이 초롱초롱한 눈빛으로 나를 반기고 있다. 이쁜 아가씨면 반겨주겠지만 이런 버그덩어리라니.. 도데체 어느 부분에서 잘못된 메모리를 엑세스 하는건지..흑흑 어빠햐가 잘못해떵..ㅠ.ㅜ 제발 정상적으로 작동해줘..ㅠ.ㅜ API의 특징인지...내가 못해서인지.. 테스트가 콘솔창보다 용의하지가 않다. 수없이 조각조각 나있는 할당된 메모리의 파편을 일일이 추적하자니.. 트리나 링크드리스트 형식의 문제점이라고나 할까..;;ㅁ;; 도데체 어디서 잘못된겨~!!! !@#$%^&*()...... 그래도 실행하면 지뢰 한 2-3개.. 숫자 한 2-3개는 찾고 뻗으니위안은 된다.(참고로 아직 지뢰를 건드린적은 없다!!) 수정해야할 부분 태산.. 만들어야 할 부분 태산.. 휴가가 극도로 짦은걸 보면 방학중에도 만들어야 할지도... 뭐 나름대로 앞으로 프로그램을 어떻게 짜야 할 지에대해서 조금은 도움이 되겠지뭐..ㅠ.ㅜ 흑.. - [조현태]
          계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각한 문제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또한 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리한 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각한다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 한번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
          드디어 로봇 완성. 저번보다 더 간지나는( 구조화가 잘된) 알고리즘 표현과, 훨씬 편한 테스트 환경으로 저번에 비하면(어디까지나 비해서다. 아직 어려운 점이 많아 고생을 많이 했으며, 새로운 자료구조가 본인이 만든 탓인지 뭔가 복잡하다.ㅎ) 순풍에 돛을 단듯 아주 순조롭게 진행되었다. 그래서 로봇을 완성. 손과 눈을 api로 바꿔주고 지뢰찾기를 향에 발싸~!... 실패... 만능은 아니라서 시작한 지점에 2가 떡하니 나와준다면.. 얘도 찍어야 한다. (물런 찍어야 하는 상황에서 사람보다야 높은 적중률을 보이도록 설계했으나.. 이런 최악의 상황은 사람이나 프로그램이나.. 오히려 사람이 낮다.) 두번째.. 오옷..1초만에 성공... 세계신기록이야~ ~_~ 후후후.. 아~ 이날아갈듯한 기분..ㅎ (혼자 행복에 겨워서 뒹굴었다.ㅎ) 세번째.. 알수없는 오류가 깊은산속 옹달샘에서 발생.......OTL.ㅎ 그래도 어쩄꺼나!!! 성공시켰다. 후후후.. 이제 남은 디버그따위..ㅎ 사뿐히 해결해주짓..(역시 테스트 환경이 좋으니 작업이 잘 진행된다. 꼭 염두해두자.ㅎ) 어쨋든 오류가 떠도 지금은 행복하다.ㅎ ~_~ 일해야 되서 지금은 못해도.. 시간나는데로 해서 완성시켜주마~ >ㅁ<;;; - 2005.08.14
          ㅋㅋ 우리 자바 공부해서 뭔가 프로그램 만들어 보지 않을래? 겨울방학 때 ㅋㅋㅋ --아영
  • 테트리스만들기2006 . . . . 5 matches
          == [테트리스만들기2006] ==
          * 06학번 대상!! 테트리스만들기... 과연 어디까지 될 수 있을까.. (가르치는 사람의 능력 부재..ㅠㅠㅠㅠㅠ)
         [테트리스만들기2006/예제1]
         [테트리스만들기2006/앞반]
         [테트리스만들기2006/뒷반]
  • 프로그래밍잔치/둘째날 . . . . 5 matches
         신입회원들이 고객의 역할, 기존회원들과 고객이 같이 하나의 팀이 되어 프로그램을 완성해내는 팀 프로그래밍 게임.
          개발기간 중간에도 '실행 가능한 프로그램' - 2차 진행후 체크.
          공지 : 2차 진행뒤에 2차까지 완성된 프로그램 시연. (돌아가는 프로그램 보여주세요!)
         프로그램 작성 시간 종료 후 점검. 각 팀별로 시연하기.
  • 학회간교류 . . . . 5 matches
          * 친목을 위한 게임 대결. 혹은 게임 AI 만들기 등등.~
         오늘 분산처리 공부하다가 떠오른 아이디어인데, '''PC실 관리 프로그램''' 만들어보면 어떨까요? 각 PC실의 PC 동작 현황(현재 돌아가고 있는 프로그램)과 IP주소, 프린터 동작 여부 등의 정보를 웹상에서 보여주는 거죠.(아마도 인증된 사용자에게만 보여줘야겠지요. 동문서버팀하고 연동해도 되겠네요.) 해당 서버 프로세스는 동문서버에서 돌리고, 각 PC들마다 클라이언트 프로그램을 백그라운드로 돌리면 될 거 같고요. 그러면, 구지 구피에 자리없을 때, 7피까지 올라가보지 않아도 PC실 사용을 파악할 수도 있고, 필요하면 다른 장소에서도 학교 PC실 사용여부를 감독할 수 있겠지요. 차후 전체 PC 네트워크 관리나 바이러스 체크와 같은 관리면 등에도 응용이 가능할 것으로 예상해보고요. 어때요? --Netory:창선이
          반응이 늦었습니다. 매우 멋진 생각이네요. B) 지속적으로 쓸모 있는 프로그램이겠는걸요? --[Leonardong]
  • 02_Python . . . . 4 matches
         === 파이썬 프로그램은 모듈(module), 문(statement), 그리고 객체(object) 로 구성된다. ===
         {{{~cpp 1. 프로그램은 모듈로 구성되어 있다.
         Def, Return 함수 만들기 def f(a,b,c=1, *d): return a+b+c+d[0]
         Class 객체 만들기 class subclass: staticData = []
  • 3D프로그래밍시작하기 . . . . 4 matches
         === 2. 모델링 프로그램 연습 약간 ===
         ["Direct3D"] 같은데에 봐도 예제로 들어있는 벡터나 행렬관련 루틴들이 있는데 곱하는 방식이 좀 골때리게 되어있어서 아마 크나큰 혼동을 가져올 확률이 높습니다. 3D 를 배우는 목적이 단지 화면에 사각형 몇개 돌리는 것이 아니라 게임이나 에디터를 만들기 위해서라면 벡터나 행렬 연산 라이브러리정도는 자기가 직접 만든 것으로 쓰고 DirectX 는 하드웨어 초기화나 모드세팅 처리랑 삼각형 그리는 부분 (DrawPrimitive) 만 쓰는 것이 좋을 것입니다.
         수학관련 라이브러리가 어느정도 모습을 갖추었으면, 이제 최초로 뭔가 돌아가는 것을 만들어 볼때입니다.. 일단은 최소한의 초기화와 실행 절차를 갖춘 프로그램을 만들어 놓도록 합니다. 화면에 무언가를 그리는 함수 같은 것은 쉽게 바꿔치기 할 수 있도록 해 놓는 것이 좋을 것입니다. 이런 뼈대 라이브러리의 형태에 대해 참조하실려면 OpenGL 관련 라이브러리중 하나인 glut 를 참조하심이 좋을 듯..
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
  • 5인용C++스터디 . . . . 4 matches
          * Player 5 ( X-( X-( X-( X-( :D ) : [나휘동] - 타자게임 만들기, 보드게임 만들기, 타이머 만들기
          || 이름 || 계획서 다운로드 || 프로그램 다운로드 ||
  • ACM_ICPC/2011년스터디 . . . . 4 matches
          * 네.. 이번주는 대략적인 것들을 결정하는 시간이었지요. Jolly Jumper를 제가 그냥 임의로 찍어서 문제로 하기로 해서, 5시 스터디가 끝나자마자 1시간동안 열심히 코딩해서 완성했습니다. ..그런데 Wrong Answer. 으아아ㅏ아아아아ㅏ 2시간동안 진경이랑 삽질하다 얻은 결론: 얘내들은 입출력방식이 달라서 우리가 짠 것만으로 되는게 아니고 계속 입력을 받도록 해야한다. 그리고 입력이 끝나면 프로그램이 종료되어야 하는데 뭐 -1?인가 그게 뜨도록 하려면 띄어쓰기같은 것도 없어야한다. ...결국 답은 대략 맞았지만 저런 형식때문에 2시간동안 고민한거죠. JollyJumpers하시는 형/누나들 참고하세요 ;ㅅ; ..아무튼 ACM스터디가 재밌게 잘 진행되었으면 좋겠어요~ -[김태진]
          * 생각치도 못한 표준입출력 때문에 고생했습니다. 저놈의 judge 프로그램을 이해하지 못하겠습니다. 입출력방식이 낯서네요. 입력 종료를 위해 값을 따로 주지 않고 알아서 EOF 까지 받아야한다니... 정올 현역때는 이런 문제 구경하기 힘들었는데ㅜㅜ 제가 뭘 크게 오해하고 있나요. 덕분에 c도 아니고 c++도 아닌 코드가 나왔습니다. 그리고 3N+1 문제가 25일 프로그래밍 경진대회에 1번 문제로 나왔습니다. 허허.. - [정진경]
          * [정진경] - 솔저 풀이를 공유를 했으나 로또는 뭐 쉬워서인지 그냥 넘어가버렸네요. 구현 방법에만 차이가 있을 것 같으니 코드 공개만 해도 될 것 같습니다. 후기를 늦게 써서 4문제를 다 억셉트하고 나서 쓰네요. 찝찝한게 2159 Ancient Cipher 문제 조건에서. Substitution Cipher는 '일반적으로' 키가 정수 1개인건가요? 아니면 각 알파벳을 일대일 매칭시키는 배열인가요? 이에 따라 알고리즘이 바뀌는데, 문제 읽고 키가 정수 1개인 것인줄 알고 했는데 제 알고리즘이 틀렸는지 문제를 잘못 이해한건지 WA 왕창 먹고 키가 배열인걸 전제로 하고 알고리즘 짜서 AC... 흑흑 선입견이 문제인가
          * 예제가 단순히 ABC를 CDE처럼 2 더한거로 되어있어서 단순히 substitution cipher 중에서도 시저 사이퍼를 썼으려니 하고 푸는 뻘짓을 한ㅠㅠ 그냥 알파벳을 일대일 대칭하는 거임. 말 그대로 substitution이 대칭이니 ;ㅅ; 간단히 ABC가 RHN으로 변한다 해도 YES가 떠야하는거 ;ㅅ; A->R, B->H, C->N으로 바뀐거지. - [강소현]
  • AcceleratedC++/Chapter7 . . . . 4 matches
         이러한 순차컨테이너가 모든 프로그램의 자료구조의 대안이 되어 줄 수는 없다.
         단순한 순차검색보다 더욱 빠른 수행 시간을 갖는 프로그램의 작성을 하고 싶을 수 있다.)
          문법과 주어진 단어를 이용하여서 간단한 문장조합 프로그램을 만들어 본다. 제시된 규칙은 다음과 같다.
          상기의 규칙을 통해서 우리는 간단하게 {{{~cpp the table[noun-phrase, noun] jumps[verb] wherever it wants[location]}}} 같은 프로그램을 만들어 볼 수 있다.
  • AspectOrientedProgramming . . . . 4 matches
          AOP에서는 aspect라는 새로운 프로그램 구조를 정의해 사용한다. 이는 쉽게 struct, class, interface 등과 같이 특정한 용도의 구조라 생각하면 된다. Aspect 내에는 프로그램의 여러 모듈들에 흩어져 있는 기능(하나의 기능이 여러 모듈에 흩어져 있음을 뜻한다)을 모아 정의하게 된다. 전체적으로, 어플리케이션의 각각의 클래스는 자신에게 주어진 기능만을 수행하고, 추가된 각 aspect들이 횡단적인 행위(기능)들을 모아 처리하며 전체 프로그램을 이루는 형태가 만들어진다.
          AOP에서는 이런 형태의 문제를 해결하기 위해 새로운 형태의 접근 방법을 제기하고 있다. AOP는 새로 도입된 프로그램 구조를 통해 시스템에 횡단되어 있는 기능들을 정의해 처리하도록 했다. 이 새로운 구조를 우리는 aspect라 부른다.
  • C/Assembly/포인터와배열 . . . . 4 matches
         왜냐하면 프로그램의 모든 것은 메모리로 올라간다. 즉, LC0, LC1은 프로그램의 일부로 데이터 영역에 올라간다.
         포인터는 LC1을 가리키므로 메모리에 올려진 변하면 안되는 프로그램영역(CODE 영역)을 가리킨다.
         하지만 배열(LC0)은 프로그램이 수행 되고 정의 부분이 되는 순간 LC0 영역의 데이터를 스택 영역에 복사한다.
  • CVS/길동씨의CVS사용기ForRemote . . . . 4 matches
         길동씨는 프로젝트 세팅이 끝나고 간단히 HelloWorld.java 라는 프로그램을 작성했다.
         === 스토리 2 홍길동씨 프로그램 고치다. ===
         홍길동씨는 이렇게 프로그램을 서버에 올리고 자신의 PC에 있는것은 지워 버린후 몇일 잊어 버리고 있었다. 그러다가, 잡지를 보던중 C++ OOP 프로그래
         밍에 관한 기사를 읽고 자신의 프로그램을 잘못 작성되었다고 생각하고 고치려 한다.
  • CommonState . . . . 4 matches
         초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때문이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 한 곳만 국한시킬 수 있게 된다.
  • ComposedMethod . . . . 4 matches
         인간과 의사소통이 잘되는 프로그램을 원하는가? 메소드의 이름을 지을때 의도가 잘 드러나게 짓자.
         메세지를 보내는 데에는 시간이 걸린다. 즉 함수 호출에는 오버헤드가 뒤따른다. 그러므로 최고의 속도를 내려면 하나의 메소드에 모든걸 때려넣을 수도 있다. 하지만? 댓가는 클것이다.(인력낭비, 비구조적 프로그램 양산)
         초보자들은 작은 크기의 많은 메소드를 보고는, 프로그램의 진행 상황을 잘 모른다고 할 수도 있다. 하지만 경험이 쌓일수록, 잘 지어진 이름의 메세지는 코드의 흐름을 알기 쉽게 해준다. 메소드 이름을 의도가 드러나게 짓는것은 하나의 메소드 크기를 작게 하는 가장 큰 이유가 된다. 그 코드를 보는 사람들은 하나 하나의 작은 부분을 이해함으로써, 더 큰 부분을 이해할수 있게 된다. 또한 메소드를 작게 하면 버그가 발생했을때도 거기에 국한시킬 수가 있다. 뭔가 개선하기가 쉬워질 것이다. 물론 상속도 자연스럽게 할수 있다.
         '''당신의 프로그램을 하나의 동일화된 작업을 수행할수 있는 메소드들로 나눠라. 모든 메소드는 같은 수준의 추상화를 유지해야 한다. 이는 자연스럽게 여러개의 작은 메소드를 만들어내게 될 것이다.'''
  • CppUnit . . . . 4 matches
          * app 클래스에 다음과 같은 runner 실행을 위한 코드를 추가한다. 다음 코드를 추가함으로써 프로그램 실행시에 GUI Test Runner 가 실행된다.
         === 준비 - 1 lib, dll 만들기 ===
         || 다음과 같은 파일들을 Test Case를 작성할 프로그램에 필요하다. ||
         === 준비 - 2 TestCase 만들기를 위한 세팅 ===
  • EditPlus . . . . 4 matches
         EditPlus라는 프로그램 과 흡사한 프로그램 만들기.
         프로그램 계획
  • Gof/Mediator . . . . 4 matches
         DialogDirect는 다이얼로그의 전체 행위를 정의한 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출한다. CreateWidgets는 다이얼로그 도구들을 만들기 위한 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출한다. DialogDirector subclass들은 CreateWidgets을 적절한 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override한다.
         DialogDirector의 subclass들은 적절한 widget작동하기 위해서 WidgetChanged를 override해서 이용한다. widget은 자신의 referece를 WidgetChanged에 argument로서 넘겨줌으로서 어떤 widget의 상태가 바뀌었는지를 director로 하여금 알게해준다. DialogDirector의 subclass들은 CreateWidget 순수 추상 연산자를 다이얼로그에 widget들을 만들기 위해 재정의한다.
         FontDialogDirector는 그것이 display하는 widget을 추적한다. 그것은 widget들을 만들기 위해서 CreateWidget을 재정의하고 그것의 reference로 그것들을 초기화한다.
  • Gof/Visitor . . . . 4 matches
         [컴파일러]가 abstact syntax tree로 프로그램을 표현한다고 하자. 컴파일러는 모든 변수들이 정의가 되어있는 지를 검사하는 것과 같은 '정적인 의미' 분석을 위해 abstract syntax tree에 대해 operation을 수행할 필요가 있을 것이다. 컴파일러는 또한 code 변환을 할 필요가 있다. 또한 컴파일러는 type-checking, code optimization, flow analysis 와 해당 변수가 이용되기 전 선언되었는지 등의 여부를 검사하기 위해서 해당 operations들을 수행할 필요가 있다. 더 나아가 우리는 pretty-printing, program restructuring, code instrumentation, 그리고 프로그램의 다양한 기준들에 대한 계산을 하기 위해 abstract syntax tree를 이용할 것이다.
         type-checking 의 기능을 넘어 일반적인 visitor를 만들기 위해서는 abstract syntax tree의 모든 visitor들을 위한 abstract parent class인 NodeVisitor가 필요하다. NodeVisitor는 각 node class들에 있는 operation들을 정의해야 한다. 해당 프로그램의 기준 등을 계산하기 원하는 application은 node class 에 application-specific한 코드를 추가할 필요 없이, 그냥 NodeVisitor에 대한 새로운 subclass를 정의하면 된다. VisitorPattern은 해당 Visitor 와 연관된 부분에서 컴파일된 구문들을 위한 operation들을 캡슐화한다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 4 matches
         함수를 호출하는 프로그램의 실 인수 값을 호출된 함수의 형식 인수에 복사해서 다른 지역 변수들과 동일하게 취급.
         함수란 자료에 동작을 가하고 값을 반환하는 부 프로그램으로 C++프로그램에서 빠지질 수 없는 함수가
         포함하여 프로그램내 어디서나 사용이 가능합니다. 이에 반해 지역변수는 함수몸체 안에서 선언하는데 이
  • JAVAStudy_2002/진행상황 . . . . 4 matches
          *대기실 UI이 만듬 UI만들기 진짜 싫다. --; (http://zeropage.org/~woodpage)
          *나름대로 채팅을 다짰음 ^^;; 열라 허접 ~~ --;
          *테스트를 하려면 채팅서버를 켜야함
          *[http://zeropage.org/~woodpage/pds/채팅.zip 소스]
  • JavaStudy2004/클래스상속 . . . . 4 matches
          상속은 객체 지향 프로그램에서 가장 중요한 개념 중의 하나이다. 이것은 자바클래스를 직접 디자인하는 문제에 영향을 미친다.상속은 다른 클래스의 정보를 동적으로 액세스하도록 해주기 위해서 그 클래스와 다른 클래스와의 차이를 명시해주면 된다.
         === 클래스 계층 만들기 ===
          많은 클래스를 만들기 위해서는 기존의 클래스 계층을 이용할 수도 있고, 자신만의 클래스 계층을 만들 필요도 있다. 이러한 계층을 만들기 위해서는 몇 가지 생각할 점이 있다.
  • JavaStudyInVacation/과제 . . . . 4 matches
          * 어느 프로그램이든 가장 기초가되는 Hello World 를 출력하는 프로그램 짜 오기
          * 클라이언트로부터 연결이 끊기면 프로그램을 종료한다.
          * 서버와 접속을 끊고 프로그램을 종료한다.
  • LinkedList/학생관리프로그램 . . . . 4 matches
         메모리 이용 학생관리 프로그램
         링크드 리스트를 이용한 학생관리 프로그램
          }while(population != -1);//프로그램 종료 조건
          printf("☞안녕하세요. 학생 관리 프로그램입니다.\n");
  • MFC/Serialize . . . . 4 matches
         프로그램을 짜면서 이런 document 를 파일로 저장해야한다. 단순히 기본형의 데이터를 저장하고 불러들이기는 쉽지만, 객체단위로 이를 행하는 것은 대단히 어려운 일이다.
          CXXXDoc 클래스의 객체가 시리얼화 입력과정동안 응용 프로그램을 통해 동적으로 생성될 수 있도록 한다. IMPLEMENT_DYNCREATE와 매치. 이 매크로는 CObject 에서 파생된 클래스에만 적용된다. 따라서 직렬화를 하려면 클래스는 직접적이든 간접적이든 CObject의 Derived Class 여야한다.
         구현 파일에 넣어야할 IMPLEMENT_SERIAL()는 3가지의 인수를 취한다. 첫번재는 이름, 두번재는 바로 윗 단계의 기본 클래스, 프로그램에 대한 스키마 번호(scheme number), 혹은 버전을 나타내는 부호 없는 32비트 정수를 인자로 받는다.
         3번째 인자는 다른 버전의 프로그램으로 읽었을 때 발생하는 문제를 막아준다.
  • MedusaCppStudy . . . . 4 matches
         입력에서 가장 긴 string의 길이와 가장 짧은 string의 길이를 출력하는 프로그램 (";" 을 만났을 때 문자열 종료)
         참고 자료2 (렌덤 숫자 만들기)
         - exit - 자판기를 떠난다 (프로그램 종료)
         스트링 길이 출력하는 프로그램은 차후에 이어서 할 계획입니다..ㅡ,.ㅡ;; --[강석우]
  • MobileJavaStudy . . . . 4 matches
         ["Java2MicroEdition"]을 주축으로 핸드폰용 프로그램을 공부하는 페이지입니다.
          * 이론적인 내용을 중심으로 공부하기보다는 간단한 프로그램들을 직접 개발해보며 J2ME를 알아가는 방법으로 진행한다.
          * ["MobileJavaStudy/HelloWorld"] - "Hello World" 를 출력하는 프로그램 제작 (9월 18일 까지)
          * ["MobileJavaStudy/NineNine"] - 구구단을 종류별로 출력하는 프로그램 제작 (9월 20일 까지)
  • MoniWikiPo . . . . 4 matches
         msgstr "새 그림 만들기"
         msgstr "새 그림 만들기"
         msgstr "페이지 만들기"
         msgstr "페이지 만들기"
  • NSIS_Start . . . . 4 matches
          * 목표 : 한글 메뉴얼 만들기. 간단한 프로그램 배포본 만들기.
          * 만에 하나 9일 전에 끝나면 간단한 NSIS Wizard 만들기 (with MFC)
  • NUnit/C#예제 . . . . 4 matches
          [SetUp] public void 파일만들기()
          * 실행 명령 만들기
          1. Command에는 설치한 NUnit 콘솔 프로그램의 경로를 적어준다.(예:C:\Program Files\NUnit 2.2\bin\nunit-console.exe)
          * 단축키 만들기
  • OurMajorLangIsCAndCPlusPlus/signal.h . . . . 4 matches
          || SIGILL || 훼손된 프로그램 또는 데이터 프로그램의 실행 ||
          || SIGTERM || 프로그램 종료 ||
          || SIGABRT || 그 프로그램과 abort가 호출되면 발생 ||
  • PerformanceTest . . . . 4 matches
         프로그램의 성능을 측정하는 방법. 프로그램이나 알고리즘의 성능을 알아보는 방법중 하나가 수행시간 측정입니다.
         멀티쓰레드로 인해 제어권이 넘어가는 것까지 고려해야 한다면 차라리 도스 같은 싱글테스킹 OS에서 알고리즘 수행시간을 계산하는게 낫지 않을까 하는 생각도 해봅니다. (하지만, 만일 TSR 프로그램 같은 것이 인터럽트 가로챈다면 역시 마찬가지 문제가 발생할듯..) 그리고 단순한 프로그램의 병목부분을 찾기 위한 수행시간 계산이라면 Visual C++ 에 있는 Profiler 를 사용하는 방법도 괜찮을 것 같습니다. 해당 함수들의 수행시간들을 보여주니까요.
  • Plugin/Chrome/네이버사전 . . . . 4 matches
         = 프로그램 목적 =
         = 프로그램 일지 =
         '''Chrome브라우저에서 환경설정(우측상단에 렌치모양) -> 도구 -> 확장프로그램 -> 우측상단 개발자 모드 Check -> 압축해제된 확장프로그램 로드''' 를 하면 내 컴퓨터에 있는 플러그인 폴더 째로 올릴수 있다.
  • ProjectZephyrus/Client . . . . 4 matches
          + ---- MainSource - 메인 프로그램 소스 & JCreator 프로젝트 화일이 있는 디렉토리
          + ---- TestSource - 라이브러리를 익히기 위해 만은 예제 프로그램들이 있는 디렉토리
         || 친구 등록 입력창 만들기 || 0.5 || ○(1분 -_-; {{{~cpp InputDialog}}}로 해결) (6/7) ||
         || JAR 화일 만들기 || 0.5 || . ||
  • Project메모장 . . . . 4 matches
          * 프로그램 시작 시 패스워드를 물음, 패스워드는 차후에 변경가능.
          *2005.2.17: 프로그램의 필요성을 느낌. 대략적 구조 잡음.
          프로그램 아이디어 변경,Owiki프로젝트로 진행이 좀 느려질 듯.
         개인이 혼자 간직하고 싶은 비밀들을 적어놓는 프로그램.
  • ReleaseDebugBuildStartGo의관계 . . . . 4 matches
          반면, CTRL-F5는 IDE가 실행 프로세스를 단순히 생성(fork)하는 역할만 합니다. 즉, 배포된 프로그램을 우리가 설치해서 실행할 때와 똑같은 환경이라고 생각하면 되겠습니다.
         이 두 개의 기능은 방금 설명한 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용한 코드(비록 한 줄이지만)있다고 가정합시다.
          2. 릴리즈 빌드한 프로그램을 CTRL-F5로 실행시키는 경우, 미초기화 변수는 0으로 초기화된다.
          디버깅할 때는 잘 돌던 프로그램이 그냥 실행시킬 땐 오동작을 보이는 경우가 있어 막대한 육체적/정신적 에너지를 낭비하는 경우가 있는데, 그런 경우를 만난다면 이 글의 내용을 한 번쯤 떠올려 보시기 바랍니다. 그리고 다음의 점검을 해보시기 바랍니다.
  • Ruby/2011년스터디/서지혜 . . . . 4 matches
          * 일정 시간이 지나면 웹 브라우저를 종료하는 프로그램 만들기
          * 0207 : 프로그램 명세. 엔포지에 프로젝트 생성([http://nforge.zeropage.org/projects/deletewastes 엔포지 링크])
         == 프로그램 기능 ==
  • SeminarHowToProgramIt . . . . 4 matches
         === 프로그램 (pun intended) ===
          * 9:35-10:00 프로그램 시연, 설명, 전체 토론
         해당 팀은 개발 환경, 언어 선정부터, 프로그램 디자인, 코딩까지 모두 함께 하게 됩니다. 한가지 문제 상황이 주어질 것이고, 제가 고객역할을 합니다. 개발 진행 중에 몇번의 요구사항 수정이 있을 것이므로, "적응도"에 대한 테스트가 자동으로 이루어 질 것입니다. 개발 완료 후에는 각각 다른 언어로 구현된 프로그램들을 살펴보며 비교 토론을 할 것입니다.
  • SeminarHowToProgramItAfterwords . . . . 4 matches
          * ["neocoin"] : UnitTest에서 추구한 프로그램의 설계에서 Divide해 나가는 과정은 여태 거의 디자인 타임에서 거의 수행을 했습니다. 그래서 여태 Test를 위한 코드들과 디버그용 코드들을 프로그램을 작성할때마다 그런 디자인에도 많은 시간을 소요했는데, 아예 프로그램의 출발을 Test에서 시작한다는 발상의 전환이 인상 깊었습니다. --상민
          * TDD를 어설프게나마 시도하면서 느낀점이 'TDD 에서의 Product Code 는 오직 테스트 까지만 만족하는 코드인가' 였었는데. 한편으로는 이렇게 해석할 수 있겠더군요. '해당 스케일에 대해 더욱더 정확하게 작동하는 프로그램을 만들고 싶다면 그만큼 테스트 코드 양을 늘려라.' 테스트코드 자체가 일종의 Quality Assurance 를 위한 도큐먼트 역할도 된다는 점을 다시 생각하게 되었습니다.
  • TCP/IP 네트워크 관리 / TCP/IP의 개요 . . . . 4 matches
          *''internet'' : 단일한 논리적 네트워크를 만들기 위해 동일한 프로토콜로 서로 연결된, 분리된 물리적 네트워크의 모든 모임
          *Application layer : 네트워크를 이용하는 응용 프로그램으로 구성
          *Presentation layer : 응용 프로그램에 데이터 표현을 표준화
          *Session layer : 응용 프로그램간의 세션을 관리
  • WinCVS . . . . 4 matches
          1. 프로그램을 시작하고 첫 화면을 보자. 무심코 지나쳤다면 Ctrl+F1 또는 Admin - Preference 를 보자.
          * External Diff Program : 파일을 비교할 프로그램을 설정한다.
          * Default viewer used to open : 파일을 볼때 쓸 프로그램을 설정한다. 메모장정도면 충분하다.
          CVSNT : CVS의 NT용 서버 프로그램 ["www.cvsnt.org"]
  • XMLStudy_2002/Resource . . . . 4 matches
          *일반 XML 이용자들과 XML을 기반으로 하는 프로그램 개발자로 나누어서
          *XML도구와 자원들을 특성에 따라 프로그램 형식의 도구와 패키지 형식의 소스 레벨에서 사용할수 있는 도구와 문서 형식의 자원들과 같은 종류로 나눔
         === XML 사용을 위한 프로그램들 ===
         === XML을 지원하는 응용 프로그램 개발시에 사용되는 라이브러리/패키지(소스 레벨에서 사용할수 있는 도구들임) ===
  • 넥슨입사문제 . . . . 4 matches
          이걸... 프로그램으로 짜서 제출하는 문제인건가요? 아니면 답만?;; -정수민
          당연히 프로그램. 프로그램을 보내면 회사에서 문제에 나오지 않은 테스트셋으로 프로그램이 맞는 지 확인하겠지. --재동
  • 덜덜덜/숙제제출페이지2 . . . . 4 matches
         프로그램 입니다. **20051095 허아영**************************
         *프로그램입니다. [컴퓨터공학부 20051095 허아영] *
         * 만드는 프로그램입니다. *
         * 프로그램입니다. *
  • 데블스캠프/2013 . . . . 4 matches
          || 3 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [Clean Code with Pair Programming] |||| [:WebKitGTK WebKitGTK+] || 10 ||
          || 4 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| [:WebKitGTK WebKitGTK+] || 11 ||
          || 5 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| 밥 or 야식시간! || 12 ||
         || 서민관(19기) || [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] ||
  • 데블스캠프2002 . . . . 4 matches
          1. ["DevelopmentinWindows"] - 윈도우즈 운영체제를 기반으로한 프로그램 개발의 간략한 소개 --상규
          1. 쓰레기통 만들기 - 1학년때 종필이 형이 해준 UNIX 세미나가 생각나서. 그냥 제안..["상협"]
          1. ["FindShortestPath"] - 옛날 해커스 랩에서 나왔던 문제.. 프로그램 실력보다는 알고리즘적인것이 중요할듯.. --광민
         머리쓰는 문제도 중요하지만... 여러가지 분야를 조금이나마 경험하게 해주는것도 필요하지 않을까여..? 윈도우즈 에플리케이션이 어떻게 돌아가는지 간단히 소개시켜 준다든지... Little Man Computer 같은 것을 통해 컴퓨터 내부의 동작 원리를 설명해 준다든지.. Embedded System을 간단히 소개시켜 줘서.. 휴대전화나 가전제품, 계산기 등도 프로그램이 들어간다는것을 알게 해준다든지 등........ --상규
  • 데블스캠프2003/첫째날/후기 . . . . 4 matches
          2003년도 데블스캠프의 첫째날 후기를 적는 곳입니다. 첫째날 느낀 소감이나 프로그램을 짜면서 느낀 성취감이나 좌절감, 혹은 프로그램을 짜면서 막힌 부분이나 그런 점 등을 적어주세요.
          * 정말 쉬운프로그램에서도 많이 막힌 모습이 한심스럽네요... 2학기때는 더욱 열심히 프로그램 공부를 해야게써요오~ ㅡㅜ;; --[동일]
  • 데블스캠프2004/금요일 . . . . 4 matches
         ===== 프로젝트 만들기 =====
         ===== Class 만들기 =====
         ===== 간단한 예제프로그램 작성 및 테스트 =====
          * 테스트 프로그램(FirstJava.java)
  • 데블스캠프2005/RUR-PLE . . . . 4 matches
          * 벽 만들기 5분 + 연습 20분(신문배달, 수확)
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
          * 벽 만들기 연습에서 한 코드들을 함수화 해서 중복 제거를 한다.
  • 데블스캠프2005/월요일 . . . . 4 matches
          로봇 만들기 방법 5m
          팀 만들기 방법 5m
          (15)#3 : 사칙 연산에 대한 4개의 인스턴스 만들기
          (10)#4 : 이 사칙연산을 모두 포함하는 한개의 인스턴스 만들기
  • 데블스캠프2005/월요일후기 . . . . 4 matches
         최정빈 - 사실 : OOP 와 플래쉬, 언어 만들기 했다. 느낌 : 어렵다..힘들다.. 교훈 : 공부하자ㅠ
         사실 : OOP의 개념과 플래시, 프로그래밍 언어 만들기,로보코드를 했다
         사실: 새로운 언어 만들기, OOP, 플래시에 대해서 공부했다.
         사실: 새로운 언어 만들기 및 실습, OOP 와 게임, 플래시와 실습을 했다.
  • 데블스캠프2005/주제 . . . . 4 matches
         || 금 || 새내기 발표 || 조현태 || ? || 게임 만드는 법?(실제로는 프로그램 개발과정 쯤 될듯.) ||
          만약 하게된다면 선배님께 어떤 내용을 설명할 수 있을지..;; 약간 과장을 덧붙이자면 저희가 1주일동안 도스창에서 돌아가는 구구단 프로그램을 작성하면, 선배님들 께서는 하루만에 데이터 베이스를 구축하실텐데..;;(그정도로 세미나 할 내용이 없다는..;;) -[조현태]
         - Guido van Robot 보니까 옛날 LOGO 프로그램 생각나네.. 비슷한거 같은데 아닌가? - fnwinter
         금요일에 제가 한 타임을 맡겠습니다. 네트워크 사용한 간단한 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
  • 데블스캠프2006/월요일 . . . . 4 matches
         ||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
         ||am 04:00~06:00 ||[데블스캠프2006/CPPFileInput] [http://zerowiki.dnip.net/~namsangboy/schoolScore.html 데블스캠프2006/성적관리프로그램] [http://zeropage.org/svn/namsangboy/SchoolScore/SchoolScore.cpp Source]|| 남상협 (01) ||
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2006/준비/월요일 . . . . 4 matches
         ||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
         ||am 04:00~06:00 || 최종 프로그램 || 남상협 (01) ||
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2010/둘째날/후기 . . . . 4 matches
          직접풀은.. 프로그램 안쓰고..
          * 일반적으로 C 프로그래밍은 자신이 아는 출력(또는 원하는 출력)을 위해서 구조를 짜는데 PROLOG는 중간만 만들어 놓으면 답이 알아서 나온다는 상당히 특이한 구조를 가지고 있어서 꽤 신기했습니다. 근데 이건 좀 편견일지도 모르겠지만 어째 이건 뭘 만들기보다는 연구하기 위한 언어가 아닌가 싶네요. - [서민관]
          * 간단하게 만든 게임이 전체적으로 어떤방식으로 돌아가는지 알 수 있어서 유익하긴 했습니다. 간단하게라도 직접 뭔가를 출력해본다거나 이미지를 출력해보는거라던가 해봤다면 더 흥미를 가지고 재미를 느낄수있었을것같은데 너무 복잡한 소스를 처음부터 보여줘서 세세하게 이해가 안돼서 어려웠습니다. 정말 감동적이고 유익한 시간이었습니다, 추가로 부분부분 수정해서 약간의 변화를 주는것도 어떤식으로 변화가 있고 프로그램이 돌아가는지 약간이나마 이해할수있어서 도움이 되었네요 - [경세준]
          * 본격 혁씨버전 슈팅게임.. ㅋㅋㅋ C를이용한 게임만들기가 정말 인상적이었습니다. 단지 C와 약간의 그림판질만으로도 만드러지는 게임이 정말 신기했습니다.
  • 데블스캠프2012 . . . . 4 matches
          || 8 |||| 페챠쿠챠 |||| Kinect |||| [:데블스캠프2012/셋째날/앵그리버드만들기 앵그리버드 만들기] |||| |||| 새내기를 위한 파일입출력 |||| CSE Life || 3 ||
          || 9 |||| 페챠쿠챠 |||| [http://www.hanb.co.kr/network/view.html?bi_id=1760 유지보수하기 어려운 코드 작성법] |||| 앵그리버드 만들기 |||| |||| 새내기를 위한 파일입출력 |||| 회고 || 4 ||
         || 앵그리버드 만들기 || [안혁준](18기), [김태진](21기) ||
  • 데블스캠프2012/둘째날/후기 . . . . 4 matches
          * [김민재] - APM이 뭔가 했더니 Apache + PHP (perl? python?) + MySQL 인걸 알았을 때의 놀라움 ㅋㅋㅋㅋ 내 컴퓨터에서 준석이 형 페이지에 접속했을 때 정말 신기했습니다. 또 MyAdmin으로 데이터베이스를 직접 만드는 것도 처음 해보았습니다. (cafe24 호스팅에서는 DB 만들기가 안되더라구요..) 오늘 여러모로 신기한 체험을 많이 해 보았습니다.
          * [김윤환] - 홈페이지 만들기!! 웹 프로그램의 아주 조금 맛보기가 상당히 재밋엇습니다. ㅎㅎ
          * [서민관] - 특이한 소재를 다루었다는 것 만으로도 충분히 괜찮은 시간이었습니다. 좀 더 잘 동작하는 샘플 프로그램을 봤으면 좋았을텐데 하는 아쉬움이 있네요. 그리고 에네르기파 쏴보고 싶었는데 안 돼서 ㅈㅈ...
  • 데블스캠프2012/첫째날/후기 . . . . 4 matches
          * UI프로그래밍 : wpf의 블렌드가 신기했습니다. mfc나 스윙보다 훨씬 발전된 느낌. 보고 있으니까 이걸로 프로그램 만들면 편하겠다는 생각이 들어서 C#을 공부해보고 싶은 생각이 마구 들었습니다.
          * 첫째 날 데블스 캠프는 정말 재미있었습니다. 우선 C 수업 중에 배우지 않은 문자열 함수와 구조체에 대해 배웠습니다. 또 수업 중에 배운 함수형 포인터를 실제로 사용해(qsort.... 잊지않겠다) 볼 수 있었습니다. 또 GUI를 위해 Microsoft Expression을 사용하게 됬는데, 이런 프로그램도 있었구나! 하는 생각이 들었습니다. GUI에서 QT Creator라는 것이 있다는 것도 오늘 처음 알게 되었습니다. 데블스 캠프를 통해 많은 것을 배울 수 있었습니다.
         UI!! 제가 가장 갈망하던 거였습니다. 프로그램으로 짜도 꼭 까만 화면만 해야 하나라는 생각을 많이 했었거든요. 저는 그래픽지상주의(외모지상주의?ㅠ_ㅠ)라서 상당히 목말라 있었는데, 저런 프로그램이 있구나! 오. 좋다!, 그런 생각을 했습니다.
  • 땅콩이보육프로젝트2005 . . . . 4 matches
          * 현태: DB이용 단어장 만들기
          * DB이용 단어장 만들기
          * [http://www.alicebot.org/ ALICE] 뢰브너 라는 인공지능 대화 로봇 대회에서 우승한 ALICE 라는 프로그램, 사이트 가면 실제로 대화해 볼수 있음
          * [http://www.aawoo.com/ 와우닷컴] 국내 최초라고 하는 영어 채팅 로봇
  • 문자반대출력/허아영 . . . . 4 matches
         영어문자열만 실행되는 프로그램
         /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램*/
         {{{~cpp /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램 ver.2*/
          한글로 해봤었는데, 이 프로그램은 영어만 되나, 하고 생각했었습니다. MSB를 이용하면 되겠군요. MSB에 대한 자세한 설명이 필요합니다. --아영
  • 문제풀이게시판 . . . . 4 matches
         '' 실력향상과 흥미를 끌기위해 제안된 문제풀이 게시판 만들기 프로젝트 ''
          * 목적은 프로그램의 실력향상과 흥미유도로 한다.
          * 각 레벨에는 그에 필요한 프로그램 관련 지식을 제시해도 좋다.
          * 게시판 제작에 도움이 달라는 부탁을 받았는데요. 전에 상규가 지금 제작하고 있는 게시판을 약간 수정하면 된다고 하던데.. 어떻게 되는지 궁금하군요. 만약에 게시판만들기가 진행되지 않고있다면 간단한 게시판을 만들어보려고 하는데요. (정말 간단하게 -_- ). 여러분들의 의견 부탁드립니다~ - [임인택]
  • 새싹-날다람쥐 6월 10일 . . . . 4 matches
         free(d); 를 이용해서 지금 실행중인 프로그램에 종속되어있는 sizeof(char) * temp만큼의 메모리를 OS에 다시 반환시킨다.
         하지만 간단한 프로그램에서는 이렇게 해 줄 필요가 없다. 프로그램을 종료시키면 알아서 OS가 가져가기 때문에.
         나중에 거대 프로젝트(오랜시간동안 켜 놓아야 하는 게임 같은 경우)에서는 메모리 반환을 하지 않으면 컴퓨터가 느려지고 가용메모리가 없어져서 메모리를 요청했을 때 메모리가 부족해 프로그램을 다시 껐다 켜야 하는 상황이 발생할 수 있다.
  • 새싹교실/2011/Pixar/실습 . . . . 4 matches
          1. 2단을 출력하는 프로그램
          1. 정수 하나를 입력받아서 그 단을 출력하는 프로그램
          1. 2단부터 9단까지 출력하는 프로그램
          1. 2단부터 9단까지 가로로 출력하는 프로그램
  • 새싹교실/2011/무전취식/레벨2 . . . . 4 matches
          * Memory에 적재되서 실행되는 프로그램프로그램 안의 변수.
          * 프로그램은 문장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어문을 배웠습니다. 제어문은 프로그램의 흐름을 제어하는 문장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
  • 새싹교실/2011/무전취식/레벨3 . . . . 4 matches
          * Memory에 적재되서 실행되는 프로그램프로그램 안의 변수.
          * 프로그램은 문장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어문을 배웠습니다. 제어문은 프로그램의 흐름을 제어하는 문장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
  • 새싹교실/2012/강력반 . . . . 4 matches
         새로만들기 - win32 콘솔 프로젝트(빈프로젝트에 체크)
         상황에 따라 프로그램을 다 만들기 귀찮으므로 사용
          * 황현제 - 우선 c언어에서 쓰이는 기본적인 연산자가 무엇이 있는지에 대해서 배웠다. 또한 함수 4가지에 대해서 배웠는데, printf, scanf,switch, if에 대해서 배웠고 그리고 새싹강사님께 C를 이용해 작성하신 프로그램을 구경하기도 했는데, C로 이런것도 할 수 있다는 것을 알았다. 새싹 강사님께서 우선적으로 설명을 해주신다음 새싹들이 실습하는 방식으로 수업이 진행됬는데, 옆에서 강사님이 지속적인 피드백을 해주셔서 이해하기가 편했다. 다음에는 반복문에 대해서 배우고, 실습도 해봐야겠다.
  • 새싹교실/2012/앞부분만본반 . . . . 4 matches
         2. C 프로그램의 완성과정
         4. 주석이 들어가야 완성된 프로그램
         3 -> 문제 1. 다음과 같은 형식으로 본인의 이름을 출력하는 프로그램을 완성해보자 .
          문제 2. 본인의 이름, 주소, 그리고 전화번호를 모니터에 출력하는 프로그램을 작성해보자.(\n을 사용)
  • 쉽게Rpg게임만들기 . . . . 4 matches
          * 쉽게 RPG 게임 만들기 라고 해서 RPG 쯔꾸르 깔고 사용하는 법만 간단히 설명하는 건가 했는데 Ruby 얘기도 나오고 해시 얘기도 나오고 슈퍼 클래스 얘기도 나와서 놀람… - [김수경]
          * RPG 만들기로 세세한 것 까지 모두 정할 수 있다는 걸 알았고 재밌었음 ㅋㅋ 혼자서 게임만드는건 좀 노가다가 필요하겠지만 몇명이서 같이 만들면 재밌는 게임도 나올듯 ㅋ [박재홍]
          * 게임만들기 .. 만들어보구싶어지네요ㅋㅋ 안에들어간 언어들도 보면 재밌을거같구ㅎ - [박정근]
          * 재밌다 ㅋㅋㅋㅋㅋㅋㅋ RPG 게임 만들기 페스티벌하자 ㅋㅋㅋㅋㅋ 그런데 실제 코드를 보면 더러운 코드가 나올 것 같은 느낌이... 스위치 = 플래그 같아 ㅋㅋㅋㅋㅋ - [박성현]
  • 스네이크바이트 . . . . 4 matches
         객체 지향 프로그래밍이란 한마디로 말해, 프로그램을 만들 때 이 세상의 오브젝트를 프로그램을 구성하는 기본 단위로 해서 만들겠다는 의미이다.
         대형 프로그램을 작성할 때, 모든 것을 한꺼번에 생각해서 만들기는 너무 복잡하다. 그래서 작은 단위로 나누어서 만든다. 객체 지향 프로그래밍에서 그 단위가 바로 '클래스'이다.
  • 이영호/미니프로젝트#1 . . . . 4 matches
         목적 : irc에 접속해 있는 유저들을 자동적으로 공격하는 프로그램. & 차후 AI(망할 엉터리 AI 패러다임) bot이나 타자봇을 집어넣을 예정
         방법론 : 프로세스를 여러개 만들어 비교적 프로그램이 쉬워지게 만든다.
         file.c -> 파일 입출력을 다루는 함수와 메세지들을 Log하는 부분을 담당한다. 일단 프로그램을 어느 정도 만들고 구현하도록한다.
         // 향후 프로그램이 커지면 네트워크 부분은 따로 모듈을 만들어 낸다.
  • 정모/2011.3.21 . . . . 4 matches
          * Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
  • 정모/2012.4.2 . . . . 4 matches
          * [신기호] 학우의 '음악 만들기'
          * OMS는 음악 만들기였는데 뮤직쉐이크 어디서 들어본 거 같긴 해요. 그런데 써본 적은 없고… 그런 프로그램으로 음악 만들기 힘들지 않나 싶었는데 생각보다 해볼만 한 것 같습니다. 시간나면 써봐야겠어요.
  • 조영준/다대다채팅 . . . . 4 matches
          * 새싹교실에서 소켓에 대해 배우고 쓰레드에 대해 배운 다음에 삘받아서 슉슉 만든 프로그램.
          * 원래 있던 일대일 채팅 프로그램을 개조.
  • 진법바꾸기 . . . . 4 matches
         문제 : 십진수와(d), 진법(n)을 받아들여 십진수를 n 진법으로 변환시키는 프로그램을 만들어라.
          * 입력받는 십진수(d)값이 0일 때 프로그램이 종료된다.
          * 샘플 수정해 주세요. 16진법의 경우 10~15를 A~F로 나타내기로 약속했지만, 다른 진법의 경우는 약속한 문자가 없습니다. 따라서 프로그램의 일관성을 위하여 A8D 대신 10 8 13로 나타내 주는게 좋을것 같습니다. -- 보창
          * 책의 문제를 똑같이 적은 것 뿐입니다^^ 문제를 잘 읽어보고 다른 진법의 경우도 될 수 있게 프로그램을 작성해 주세요. 24진법까지라는 제한을 둔 것도 문제의 의도가 있을 듯 하지 않나요?
  • 최대공약수 . . . . 4 matches
         문제 : 최대공약수(GCD)를 구하는 프로그램을 순수하게 주 프로그램으로 작성하고 그것을 다시 call-by-value로 구하여라.
          (ver.1 , ver.2 로 나누에 두개의 프로그램을 짠다. )
          * 주 프로그램 출력
  • 코바예제/시계 . . . . 4 matches
         == 프로그램의 목적 ==
         == 프로그램 소개 ==
         == 프로그램에 대한 구체적 설명 ==
         // 객체 레퍼런스를 얻어내는 부분, 여기에서는 클라이언트 프로그램의 첫번째 인수로 문자열화 객체 레퍼런스가 주어진다고 가정한다.
  • 토비의스프링3/오브젝트와의존관계 . . . . 4 matches
          * 사용자 정보를 JDBC API를 이용해 DB에 저장하고 조회할 수 있는 간단한 DAO 만들기.
         == 커넥션 만들기의 추출 ==
         == DB 커넥션 만들기의 독립 ==
          * 프로그램의 제어 흐름 구조가 뒤바뀌는 것
  • 토이 . . . . 4 matches
         ||[토이/스택만들기] ||기초적인 자료구조에 하나인 스택을 구현 || X || X || X || X ||
         ||[만년달력] ||원하는 년도와 달을 쓰면 그 달의 달력이 나오는 프로그램 || O || O || X || X ||
         ||[토이/삼각형만들기] ||아주 기본. 콘솔에 삼각형 모양 만들기 || X || X || X || X ||
  • 튜터링/2013/Assembly . . . . 4 matches
          * 교수학습센터에서 진행하는 튜터링 프로그램에 참가해 튜터링 활동을 진행
          * 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자.
          * 소문자를 대문자로 바꾸는 프로그램을 작성해보자.
          * 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
  • 02_C++세미나/0523 . . . . 3 matches
          1. 위키위키에 개인 페이지 만들기.
          1. 피보나치 수열 만들기.
          * 너가 만들어라-.- 다시 만들기 열라 귀찮어--;
  • 05학번만의C++Study/숙제제출/1 . . . . 3 matches
         => 숙제 페이지는 프로젝트 페이지의 하위 페이지에 만드시기 바랍니다. 여러 프로젝트가 존재하고 그것을 기록, 보존, 관리 차원에서 05학번만의C++Study/숙제1/허아영 와 같은 식으로 프로젝트의 하위 페이지로 만들기 바랍니다. -- 재선
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 1002/TPOCP . . . . 3 matches
          문제해결방법을 찾는 여러 방법들을 인식하고 있다. 문제를 이해하기 위한 프로그램을 준비하기도 한다
          case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 한 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 문제를 해결하려고 함.
          각각의 프로그램에는 적절한 레벨이 있다.
  • 2학기파이선스터디 . . . . 3 matches
          [2학기파이선스터디/채팅창]
          [2학기파이선스터디/서버&클라이언트접속프로그램]
          [채팅원리]
  • 2학기파이선스터디/모듈 . . . . 3 matches
          * 파이썬 프로그램 파일 혹은 C 확장 파일
          * 프로그램(함수, 클래스... )과 데이터를 정의
         == 모듈만들기(간단하게..) ==
  • 3DAlca . . . . 3 matches
          * 주변 벽에도 튕기게 만들기 OK
          * 아이템들 만들기
          * 스테이지 만들기
  • 3rdPCinCAUCSE/FastHand전략 . . . . 3 matches
         알고리즘을 위해 연습장을 썼습니다. B 문제와 A 문제는 이전에 같은 프로그램을 짜 본 경험이 있던 관계로 특별한 계산을 하지 않았으며, C 번 문제에 대해서 분석차 이용하였습니다. 그리고 테스트를 위해 예제 입력값들을 텍스트 화일로 미리 작성해두고, 도스창에서 이를 redirection, 결과를 확인했습니다. 이러한 방법은 특히 A 번 문제에서 큰 힘을 발휘했습니다. (A번 문제는 입력값이 오목판 전체 이기 때문이죠.) 결과에 대한 확인 테스트 시간이 1초도 걸리지 않았고, 테스트 인풋 데이터 만드는데도 거의 시간소요가 없었습니다.
         그동안 [경태]는 A 번 구현 완료. 테스트 데이터를 위해 editplus 로 입력데이터를 test.txt로 작성. DOS 창에서 redirection 으로 프로그램 실행 & 결과 확인. 중간에 5목이 일어난 부분의 첫 위치를 파악하는 부분에서는, 해당 오목 판정결과 함수에서 판정 방향값을 리턴해주는 형태로 함수를 수정, 이를 근거로 첫 위치를 구했습니다.
         A 번 진행중 아쉬웠던점은, 제출 전 test 겸 찍었던 데이터를 주석처리하지 않은 바람에 아쉬운 페널티를 먹었다는 점. 이에 대해서는 실제 결과 비교부분까지 fc 등의 프로그램으로 배치화일을 만들었다면 문제가 없지 않았을까 생각.
  • AcceleratedC++/Chapter0 . . . . 3 matches
          main 함수의 리턴형은 ISO/ANSI C++ 표준에서 int로 정하고 있다. 리턴값은 프로그램이 아무런 에러 없이 종료되는 경우에는 0을 리턴하도록 되어 있고, 에러가 발생해서 종료한 경우에는 0 이외의 값을 리턴하도록 되어있다. 이 값은 OS로 돌려지는 값이기는 하지만 OS에서 이것에 따라 특별히 처리하는 것은 없기 때문에 일반적인 경우에는 이 값은 아무런 의미가 없다. 이 값을 이용할수 있는 방법으로는 exec... 함수를 이용하여 프로그램을 실행해주고 받아오는 방법 등이 있다.
          이런 문장이 들어있는 C++ 프로그램을 컴파일 해 보면 에러가 날 것 같지만 에러가 나지 않는다. 왜냐하면 둘 다 모두 계산 가능한 식이기 때문이다. 계산 가능한 식이라면 최종 결과가 존재해야 한다. 첫번째 문장은 계산이 끝나있는 식이고 최종 결과가 100 이다. 두번째 문장은 한번만 계산하면 계산이 끝나고 최종 결과는 4 이다. 그렇다면 다음과 같은 문장은 계산 가능한 식이 맞는가?
  • AcceleratedC++/Chapter3 . . . . 3 matches
         학생들의 성적 관리 프로그램으로 작업을 하면서, 뭔가를 저장하는 방법 등등을 논의할 것이다.
          * 평균값 대신에 중간값을 사용하는 프로그램으로 변경한다.
          * homework가 비어있을때 왜 프로그램을 끝내야 할까?
  • AcceleratedC++/Chapter9 . . . . 3 matches
         string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
          그런데 더 나가서 이제는 아예 이 객체의 내부멤버를 프로그램의 다른 부분에서 다루는 것을 금지시키고 싶다면?
          만약 s:Student_info 에 read(istream&)을 통해서 데이터를 입력하지 않고서 s.grade()를 사용한다면 프로그램을 에러를 낼 것이다.
  • AssemblyStudy . . . . 3 matches
          * [http://charsyam.springnote.com/pages/2429832 OS만들기]
         == 부트스트랩 만들기 ==
          * [http://dada.pe.kr/200 부트로더 만들기]
  • BasicJAVA2005 . . . . 3 matches
          - JAVA라는 언어를 가지고 어느정도의 프로그램을 짤 수있게 '''기초를 다지기!!'''
         || 4 || 06.01.12 || 선호 민경 아영 규완 지희 수생 태훈 현태 || 다솔 희웅 || 빙고판 만들기(Swing) || [BasicJava2005/4주차] ||
          ex> 메신저, 채팅, 보드게임 ...?
  • BigBang . . . . 3 matches
         ==== c++의 "hello world" 프로그램을 뜯어보자 ====
          * 이걸로 프로그램이 제대로 끝났는지 판단한다.
          * stl vector를 이용한 class vector 만들기
  • C++스터디_2005여름/도서관리프로그램/문보창 . . . . 3 matches
         우선 스터디 시간에 버벅대서 마무리 짓지 못한거 미안하게 생각합니다. 자신이 꼭 스스로 프로그램을 짜시고, 그런 후에 제 코드와 비교해 보시기 바랍니다. 저보다 여러분이 잘한 점, 혹은 제가 잘한 점이 무엇인지 생각해 보시기 바랍니다. 어떤게 더 확장성과 재사용성에 유리한지 곰곰히 생각해보세요.
          cout << "** 도서관리 프로그램 **\n";
         [C++스터디_2005여름/도서관리프로그램]
  • C++스터디_2005여름/학점계산프로그램 . . . . 3 matches
         || 문보창 || [C++스터디_2005여름/학점계산프로그램/문보창] ||
         || 허아영 || [C++스터디_2005여름/학점계산프로그램/허아영] ||
         || 김태훈김상섭 || [C++스터디_2005여름/학점계산프로그램/김태훈김상섭] ||
  • CVS/길동씨의CVS사용기ForLocal . . . . 3 matches
         길동씨는 프로젝트 세팅이 끝나고 간단히 HelloWorld.java 라는 프로그램을 작성했다.
         === 스토리 2 홍길동씨 프로그램 고치다. ===
         홍길동씨는 이렇게 프로그램을 C:CVSLocal 에 저장하고는 곧 잊어 버린다. 그러다 몇일뒤 아차 하며 다시 소스를 oop적으로 고칠려고 시도하였다. 그냥 출력하는 사람에게 일침을 가하는 글을 마소에서 본적이 있으리라. 그래서 객체 지향(?) 적으로 작성하려고 한다.
  • ComputerNetworkClass/Report2006/BuildingWebServer . . . . 3 matches
         * 제작 작성해본 결과 HTTP Application 의 기본적인 사항은 에코서버의 연장선에 있습니다. RFC1945 를 확인하면 아주 단순한 형태의 구현만으로도 충분히 간단한 웹 서버의 동작을 구현하는 것이 가능합니다. (물론 이는 웹 브라우저가 RFC1945 의 HTTP-message BNF 의 가장 단순한 형태를 지원한다는 가정하에서 입니다.) CGI, 로드밸런싱을 이용할 수 있을 정도의 구현이 아닌이상 이는 단순한 에코서버의 연장선과 크게 다르지 않습니다. (어쩌면 모든 네트웍 프로그램이 에코서버일지도 -_-;)
         기본 소켓의 HELLO WORLD 만 주고 받을 줄 알고 HTTP BNF 만 주어진다면 1~3시간 이내로도 해결할 수 잇는 단순한 형태의 프로그램입니다.
         데블스 캠프에서 만들어도 좋겠네요. 충분히 흥미잇는 주제가 될 듯합니다. 채팅 서버도 좋겠지만...
  • Cpp/2011년스터디 . . . . 3 matches
          * 클래스에 관해 공부하고, 그걸 토대로 프로그램을 짜본다.
          * 위의 상황은 디버그일때 일이고 릴리즈일때는.. 프로그램이 죽진 않으나.... 말로 표현할수가 없다.
          * 보니까 06년도에 06학번을 대상으로 테트리스 만들기 라는 활동도 있었고 10년 데블스캠프에서도 테트리스가 언급되었던것 같은데 아예 새싹교실할때 테트리스를 포함해보는건 어떨까. 기본적인 블럭낙하에 줄이 없어지고 점수가 표시되는 정도라면 잘되는 새싹반은 완성도 가능하지 않을까?
  • Debugging . . . . 3 matches
          * 프로그램의 오류를 발견하고, 그 원인을 밝혀내서 고치는 작업
          * 프로그램을 실행할때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜서 사용하면서 오류에 관한 각종 정보를 수집
          * 수집하고 싶은 정보를 출력하기 위한 디버깅용 명령을 미리 프로그램 곳곳에 삽입하여 실행 시키는 방식
  • DebuggingSeminar_2005/DebugCRT . . . . 3 matches
         자기가 짠 프로그램으로 돌려보고 누수 여부를 판단하기에 좋을 것이다.
         || _CRTDBG_LEAK_CHECK_DF || 프로그램이 종료되는 시점에서 _CrtDumpMemoryLeaks()를 호출. 메모리 해제에 실패한 경우 그 정보를 얻을 수 있다. ||
         DCRT를 켜고 끄는 것에 따라서 프로그램의 수행속도의 차이가 상당하다. STL때문인지도 모르겠지만. - [eternalbleu]
  • DesignPatterns/2011년스터디/1학기 . . . . 3 matches
          1. 오늘은 LifeGame으로 바로 넘어가기 전에 [임상현]의 SE 과제인 파일 비교 프로그램을 설계해보았다.
          1. 프로그램이 동작하는 모습을 상상해보니 아키텍쳐의 윤곽을 잡을 수 있었다.
          1. SE project인 merge 프로그램 디자인을 했다. MVC모델이 스팩이라 자유롭게 책에 나온걸 자유롭게 써보진 못했다.
  • DiceRoller . . . . 3 matches
          * 채팅이 가능하다.ㅡ.ㅡa
          * 프로젝트를 하나로 합쳐야 할 것 같다. 목적이 같지만 서로 관심분야가 달라서 결국 프로그램이 서로 달라지고 있다.
          * 프로그램을 키고 오래 사용하면 스타트/레디 부분이 실행되지 않는다.
  • Django스터디2006 . . . . 3 matches
         || 9/14 || 웹서버 동작 환경 만들기, APM 설치( PHP, MySQL 구동 환경 만들기), ZeroPage 계정에 간단한 홈페이지 띄우기, 위키 CSS 바꿔보기 || 모두 ||
          * 제로페이지 계정이 없는 사람들은 서버 관리자(박영창)에게 문의하여 계정을 만들기 바람.
  • EffectiveC++ . . . . 3 matches
         몇달 지난 프로그램은 자기가 만든게 아닌거야!? , 예전에 상민이 형이 얘기해준.. --;; ㅎㅎㅎ 동감.. [[BR]]
         '왜 이런 대입을 하는거지. 프로그램 짜는 놈이 바보 인가?' 라는 생각을 할 수 도있지만, 밑의 코드가 있다고 하자.
         그런데, 왜 최소한인가? 여러가지 일을 할수 있는 멤버 함수들을 계속 추가해 나가면 안되는 것인가? 대답은 안된다. 왜 안되는 것일까? 당신은 멤버 함수가 10개 있는 클래스와 100개가 있는 클래스중 어떤것이 이해하기 쉽다고 생각하는가? 나 만 쓰려는 클래스가 아닌이상 다른 사용자들이 쉽게 이해 할수 있도록 만들어야 하지 않겠는가? 그렇기 때문에 최소한의 인터페이스를 추구하는 것이다. 그리고, 관리적인 면에서 볼때 적은 함수들을 가진 클래스가 용이하다는 것이다. 중복된 코드라던지 아니면 개선할 것들을 향후에 하기 쉽다는 것이다. 또한, document를 작성한다 든지 할때 적은 멤버 함수들을 가진 클래스 쪽이 용이하다는 것이다. 마지막으로 아주 긴 클래스 정의는 긴 헤더 파일을 초래 한다. 일반적으로 헤더 파일들은 프로그램이 컴파일될 때마다 매 번 읽혀져야 하기 때문에 필요 이상 긴 클래스 정의는 프로젝트 주기 중의 총 컴파일 시간을 갉아 먹는다. 그런 이유들 때문에 최소한의 클래스 인터페이스를 추구하는 것이 좀더 나은 판단이라는 것이다.
  • EightQueenProblem/lasy0901 . . . . 3 matches
         두번째 프로그램은 ... 이상하게 컴파일이 안되더군요.. 알고보니 #include <stdafx.h> 을 안 넣어서 (VC6.0) 낭패-_-a
         == 하나의 해만 구하는 프로그램 ==
         == 모든 해를 구하는 프로그램 ==
  • ExploringWorld/20040412-세상읽기 . . . . 3 matches
          * 1h 30m '가상세계와 현실세계'을 시발점으로 NeoCoin 소프트웨어 세상의 세상을 인과성과 기업간의 경쟁, 가상세계의 법칙 만들기라는 큰 맥락으로 이야기를 했다.
         || 재선 || 목이 마르다. || 프로그램 세계의 이면이 흥미롭다. || 뉴스를 보고 정보 획득을 해야 겠다. ||
         || 세환 || 시간이 빨리 갔다. || 치열한 시장싸움을 알아서 좋다. || 프로그램 공부 뿐이 아니라, 관심을 가지고 여러 정보를 예의 주시해야겠다. ||
  • ExtremeBear/VideoShop . . . . 3 matches
         고객의 요구로 비디오 가게관리 프로그램 구현
         <<비디오 대여 프로그램>>
         등급에 안맞을 경우는 (주민등록번호와 관련되어서 알아서 프로그램이 처리해준다 )대여불가능하다고 나온다.
  • ExtremeProgramming . . . . 3 matches
         Iteration 중에는 매일 StandUpMeeting 을 통해 해당 프로그램의 전반적인 디자인과 Pair, Task 수행정도에 대한 회의를 하게 된다. 디자인에는 CRCCard 과 UML 등을 이용한다. 초기 디자인에서는 세부적인 부분까지 디자인하지 않는다. XP에서의 디자인은 유연한 부분이며, 초반의 과도한 Upfront Design 을 지양한다. 디자인은 해당 프로그래밍 과정에서 그 결론을 짓는다. XP의 Design 은 CRCCard, TestFirstProgramming 과 ["Refactoring"], 그리고 StandUpMeeting 나 PairProgramming 중 개발자들간의 대화를 통해 지속적으로 유도되어지며 디자인되어진다.
          * PairProgramming: 프로그램코드는 두명 (driver, partner)이 하나의 컴퓨터에서 작성한다.
          * ["Metaphor"] : Object Naming 과 프로그램의 해당 수행에 대한 커뮤니케이션의 가이드 역할을 해줄 개념의 정의.
  • FreechalAlbumSpider . . . . 3 matches
          늦게서야 보게 되어서..; 지금도 작동을 할런지는 잘 모르겠습니다. 알바때문에 바빠서 유지보수를 못하는 중인지라.. freechal service UI 가 바뀌면 깨지는 녀석일것인지라..; 사용하기전에 필요한 것으론 Python 2.2x 버전 정도와 MySQLdb 라이브러리가 필요하고요. 해당 proper.py 화일을 맞춰주신뒤, freechalscript.py 를 실행해주시면 됩니다. 같은 역할을 하는 프로그램은 http://www.perlmania.or.kr 에서 먼저 구현된걸로 기억합니다. 거기서 해당 강좌도 있던걸로 기억하오니 참조하세요. --[1002]
          원리는 보통의 이런류의 프로그램 (HTTP 로 문서 가져오고 스트링 파싱하여 데이터로 가공하고 DB에 저장) 이 비슷합니다. 단, 앨범게시판의 경우 로그인이 필요한데, 이 경우 쿠키 처리를 위한 header setting을 해줘야겠죠. Perl 같은 경우 LWP, Python 의 경우 ClientCookie, Java 의 경우 HttpUnit(원래의 용도는 다르지만, 이런 프로그램을 위한 간이 브라우저 라이브러리로 쓸 수 있습니다.) 등의 라이브러리를 쓸 수 있습니다. 그리고, 이미지의 경우는 해당 URL을 보고 다시 HTTP Connection 을 열어서 얻어와서 binary로 저장해야 한다는 것이 유의사항이 되겠습니다. (HTML만 얻어오면 img tag 의 링크들만 있겠죠.) 그리고 header setting 에서 약간 미묘(?)한 부분이 있던것 같던데, 저는 걍 webdebug 로 캡쳐한거 그대로 보낸지라..; 이 부분은 CVS의 코드 참조하세요. --[1002]
  • HowToStudyDataStructureAndAlgorithms . . . . 3 matches
         왜 우리는 학교에서 "프로그래밍을 하는 과정"이나 "디자인 과정"을 배운 적이 없을까? 왜 해답에 이르는 과정을 가르쳐주는 사람이 없나? 우리가 보는 것은 모조리 종적 상태의 결과물로서의 프로그램 뿐이다. 교수가 어떤 알고리즘 문제의 해답을 가르칠 때, "교수님, 교수님께서는 어떤 사고의 과정을 거쳐, 그리고 어떤 디자인 과정과 프로그래밍 과정을 거쳐서 그 프로그램을 만드셨습니까?"라고 물어보자. 만약 여기에 어떤 체계적인 답변도 할 수 없는 사람이라면, 그 사람은 자신의 사고에 대해 사고해 본 적이 없거나, 문제 해결에 어떤 효율적 체계를 갖추지 못한 사람이며, 따라서 아직 남을 가르칠 준비가 되어있지 않은 사람이다. --김창준
         자료구조와 알고리즘은 프로그램을 만드는 데 있어서 중요하다고 생각합니다. 남이 만든 자료구조와 알고리즘을 이용하는데 그치지 말고 스스로 생각하여 만드는 경지에 오르면 좋겠습니다. -[강희경]
  • JollyJumpers . . . . 3 matches
         앞 뒤에 있는 숫자 차의 절대 값이 각각 3,2,1이므로 이 수열은 유쾌한 점퍼가 된다. 어떤 수열이 유쾌한 점퍼인지 판단할 수 있는 프로그램을 작성하라.
         입력 조건이 명확하지가 않군요! (1)입력을 한 줄 입력받고, Jolly 여부를 판단하고, 프로그램을 끝내거나, 혹은 (2)입력을 우선 모두 받고 입력의 끝 조건을 만났을 때,
         각 줄 마다 Jolly 여부를 판단하는 경우가 있을 것 같네요. (2)번 방식의 경우 숫자대신 영문자가 들어오면 프로그램을 끝내는 방식으로 하면 좋을것 같군요. -- [문보창]
  • JollyJumpers/오승균 . . . . 3 matches
          cout << "입력된 숫자가 없습니다. 프로그램을 종료합니다." << endl;
         일단은 오랜만에 프로그램을 열심히 짜서 괜히(?) 뿌듯하네요. 뭐 문제점이나 개선점이 있으면 과감히 -_-;;; 지적해주세요.
         문제에 주어진 스펙에 최대한 맞춰서 프로그램을 짜주세요. -- 보창
  • Linux/MakingLinuxDaemon . . . . 3 matches
         상기에서 확인가능 하듯 daemon 으로 동작하는 프로그램은 터미널이 할당되지 않는다. 또한 기본적으로 ParentPID (ProcessID)가 1번으로 설정되어있음을 알 수 있다. 이는 1번 PID를 가진 init 프로세스가 데몬의 동작을 관리한다는 사실을 알 수 있게 한다.
         상대경로 지정으로 일어나는 프로그램내의 문제해결 (안해도 무관)
          // 여기에 프로그램 본체를 넣는다.
  • Linux/필수명령어 . . . . 3 matches
         || mkdir x|| 디렉토리 만들기 ||
         || grub || 최근 각광받고 있는 부트로더 프로그램, lilo 보다 flexible 하다고 한다. ||
         || update-rc.d || rc.* 에 시작 프로그램을 등록한다. defaults 옵션을 줄경우 모든 running level 에 등록된다. (Debian) ||
  • MFC/Socket . . . . 3 matches
          * 아래 소스는 소켓 테스트 용으로 간단하게 서버와 클라이언트가 메시지를 주고 받는 프로그램
          * 이 프로그램을 2개 실행 시킨다.
          * 한쪽에서는 서버 생성을 선택 (XP의 경우 이 프로그램의 서버를 허용할지 물어볼때 예 선택)
  • Marbles/이동현 . . . . 3 matches
         프로그램의 실행시간을 줄이는데 시간이 들었다.
         프로그램은 다음과 같은 원리로 동작한다.
         이 프로그램의 약점은 n2의 크기가 커지면 실행시간이 늘어난다는 점이다.
  • MindMapConceptMap . . . . 3 matches
         컴퓨터 프로그램에서도 MindMap 과 ConceptMap 을 그리는 프로그램이 많다. 하지만, 그렇게 효율적이지는 않은 것 같다. (아직까지 연습장과 펜 만큼 자유롭지가 않다. ["TabletPC"] + Visio 조합이라면 또 모를까;) MindMap 이건 ConceptMap 이건 기존 지식으로부터 연관된 지식을 떠올리고, 사고하고, 재빨리 Mapping 해 나가는 과정자체가 중요하기에. (["1002"]는 개인적으로 프로그래밍을 하려고 했다가; 그리 유용하단 느낌이 안들어서 포기했다는. 여러 프로그램들을 써 봤지만, 결국 도로 연습장 + 펜 으로 돌아갔다. ^^; 그리고 개인적으로 Map 자체를 도큐먼트용으로 보관하는것에 의미를 두지 않아서.)
  • NSIS/예제2 . . . . 3 matches
         ; 인스톨러 프로그램 이름
         ; 인스톨러 프로그램 이름
         ; 인스톨러 프로그램 이름
  • NextEvent . . . . 3 matches
         이 토론 기법을 프로그래밍에 적용합니다. 그리고 축구중계의 개념을 집어 넣습니다. 안의 사람들이 프로그래밍을 하고 이것을 벽면에 프로젝션합니다. 해설자와 아나운서가 이 광경을 해설합니다. 프로그래밍을 하는 팀원들 중에 피곤한 사람은 밖으로 나올 수 있습니다. 해설자는 나오는 사람을 인터뷰하기도 하고, 방금 어항 속 물고기의 행동에 대한 해설을 해줍니다. "아~ 멋진 페인트 액션이에요~" "저게 바로 압박 프로그래밍이라는 것이죠." 사람이 비면 밖의 사람이 안으로 들어갈 수 있습니다. 또 밖의 사람이 안으로 들어가면 안의 사람 중 한 사람은 밖으로 나옵니다. 이런 식으로 팀원이 항상 유동적으로 바뀝니다. 대신 개발하는 프로그램은 계속 유지됩니다.
         자신이 쓰는 언어의 개발자 중에서 자기는 어떤 위치인지 궁금합니까? 다른 언어를 사용하는 개발자가 만든 프로그램과 자신이 만든 프로그램의 수행 시간, 개발 시간, 코드 크기 등의 비교 결과가 궁금합니까?
  • OptimizeCompile . . . . 3 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극한으로 속도가 증가하고 있다. 이러한 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         프로그램(translation unit)은 진행방향이 분기에 의해 변하지 않는 부분의 집합인 basic block 들로 나눌 수 있는데 이 각각의 block 에 대하여 최적화 하는 것을 local optimization 이라 하고, 둘 이상의 block 에 대하여, 혹은 프로그램 전체를 총괄하는 부분에 대하여 최적화 하는 것을 global optimization 이라고 한다.
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 3 matches
         || void abort(void); || 비정상적인 프로그램 종료를 발생시킨다 ||
         || int atexit(void (*func)(void)); || 프로그램이 정상적으로 종료될 때 전달인자로 넘겨진 함수포인터를 이용해서 특정 함수 실행 ||
         || void exit(int status); || 정상적인 프로그램 종료를 발생시킨다 ||
  • PHP Programming/HtmlTag . . . . 3 matches
          *ACTION=".." - 사용자의 입력정보를 받아서 처리하는 서버에 담김 CGI프로그램의 위치
          *METHOD=".." - 사용자 입력정보가 어떤 방법으로 CGI프로그램에 전달하게 할 것인지 지정.(POST, GET 두가지 값 사용)
          *<TEXTAREA> 여러줄까지 입력필드를 만들기 위해서 사용
  • PairProgramming토론 . . . . 3 matches
         PP에 대해서는 체계적으로는 잘 모르겠지만.. (파고들려면 XP 에서부터 파고들어야 할 것 같아서요.) 그냥 여기저기 자료들 얻어서 읽어보고, 선배님 글도 읽어보면서 '효과적인 지식전달방법이 될 수 있겠구나.' 특히 1기 -> 2기 인수인계식으로 기존의 프로그램들을 이해시키는데에도 괜찮은 방법이라 느끼고 있습니다.
         Strengthening the Case for Pair-Programming(Laurie Williams, ...)만 읽어보고 쓰는 글입니다. 위에 있는 왕도사와 왕초보 사이에서 Pair-Programming을 하는 경우 생각만큼 좋은 성과를 거둘 수 없을 것이라고 생각합니다. 문서에서는 Pair-Programming에서 가장 중요한 것을 pair-analysis와 pair-design이라고 보고 말하고 있습니다.(좀 큰 프로젝트를 해 본 사람이라면 당연히 가장 중요하다고 느끼실 수 있을 것입니다.) 물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급한 두가지에 비하면 택도 없지요. 그러니 왕도사와 왕초보와의 결합은 아주 미미한 수준의 이점만 있을뿐 실제 Pair-Programming이 주창하는 Performance는 낼 수 없다고 생각됩니다. 더군다가 이 경우는 왕도사의 Performance에 영향을 주어 Time dependent job의 경우 오히려 손실을 가져오지 않을까 생각이 됩니다. Performance보다는 왕초보를 왕도사로 만들기 위한 목적이라면 왕초보와 왕도사와의 Pair-Programming이 약간의 도움이 되기는 할 것 같습니다. 그러나 우리가 현재 하는 방식에 비해서 얼마나 효율이 있을까는 제고해봐야 할 것 같습니다. - 김수영
         ''Performance보다는 왕초보를 왕도사로 만들기 위한 목적이라면 왕초보와 왕도사와의 Pair-Programming이 약간의 도움이 되기는 할 것 같습니다. ''
  • PersonalHistory . . . . 3 matches
          * [SmallTalk]다 프로젝트. Feat. [톱아보다], 매주 금요일 10시 모임. [SmalltalkBestPracticePatterns]를 공부하면서 [SBPPSummary]페이지의 완성과, 자판기프로그램 제작이 목표.
          * 웹커뮤니티 만들기 프로젝트(외부)
          * [ProjectEazy] - AI를 이용한 3살짜리 여자아이 '이지(Eazy)' 만들기
  • PragmaticVersionControlWithCVS/CommonCVSCommands . . . . 3 matches
         다수의 프로그래머들이 프로젝트를 진행하는 상황하에서는 내가 프로그램을 갱신하고 있는 동안 다른 프로그래머들도 프로그램의 갱신을 할 가능성이 대단히 높다. 만약 갱신주기가 길어진다면 프로그래머가 처리해야할 merge 작업이 상당할 것이다. 때문에 주기적으로 프로젝트를 checkout 하는 것이 중요하다.
         CVS는 프로그램 소스 코드, XML 등 텍스트 파일을 위주로해서 설계되었다.
  • ProjectEazy . . . . 3 matches
         이지(본명). 어린 아이 수준의 말을 하는 프로그램을 만드는게 목표.
         현재 임신중입니다. 프로그램이 완성되는 그 날을 생일로 하려 합니다. :)
          와 너무 똑똑하다. 외국인하고 채팅하는 기분. --[강희경]
  • ProjectPrometheus/EngineeringTask . . . . 3 matches
         || ViewBook Linker 만들기 (and register as a service) ||
         || DB 에서 책에 대한 Total Point 를 가져와서 정렬, BookList 만들기 ||
         || 임의의 Data set 만들기 || ○ ||
  • QuestionsAboutMultiProcessAndThread . . . . 3 matches
          * A) processor라고 쓰신 것이 process, cpu가 processor를 의미하신 것 같군요. process는 실행되고 있는 하나의 프로그램 인스턴스이며, thread는 a flow of control입니다. 즉, 하나의 프로그램 안에 논리적으로 여러 개의 제어 흐름이 존재하느냐(*-thread)와, 하나의 컴퓨터에 논리적으로 여러 개의 프로그램 인스턴스가 실행되고 있느냐(*-process)로 생각하는게 가장 좋습니다. multi-processor(multi-core)는 말 그대로 동시에 물리적으로 여러 개의 흐름을 처리할 독립적인 처리기가 병렬로 존재하느냐입니다. 위에 제시된 예는 적절하지 못한 것 같습니다. - [변형진]
  • Reverse Engineering처음화면 . . . . 3 matches
         1. 프로그램이 왜 이렇게 짜여져 있는지 확인.
         5. Pack되어있는 프로그램 분석. Pack 프로그램 제작. 알고리즘 제작.
  • ScheduledWalk/창섭&상규 . . . . 3 matches
         === 프로그램 디자인 ===
          * 사용자(User) -> 프로그램 사용자와 대응되는 객체
         === 프로그램 소스 ===
  • Spring/탐험스터디/2011 . . . . 3 matches
          1.3 테스트 가능한 프로그램 : 모듈화가 잘 되어있어야 함(관심사 분리) 모듈을 먼저 만들어서 테스트하고 후에 조립을 한다. TDD 개발시 TDD이전에 테스트 가능한 프로그램을 만들어야 한다.
          1.2. Runtime Injection : 다형성을 만들기 위해서 사용한 방법. 개인적으로 코딩할 때 다형성의 사용이 좀 부족하다고 느꼈는데, Runtime시에 오브젝트간의 관계를 맺게 하지 않고 그냥 클래스에 맞춘 코딩을 했기 때문인 것 같다. 앞으로 코딩을 하는데 머릿속에 넣어두고 자주 써 보는 것이 좋을 것이라 생각된다.
  • StandardWidgetToolkit . . . . 3 matches
         내부에서는 초기부터 SWT와 [Eclipse] 프로젝트의 역할이 분담되어, 과거 IBM developerworks 에 gcc를 이용한 프로그램 작성에 대한 문서가 있었으나, SWT를 이용한 프로그램의 등장은 보이지 않았다. 그러나 분리되면서, 그러한 프로그램을 기대할 수 있게 되었다.
  • Telephone . . . . 3 matches
         다음과 같은 프로그램을 만드세요.!
         자 이러한 광고문구 글을 해당 전화번호로 번역해주는 프로그램을 만들어보자.!
         """자신의프로그램이름""" < test1.in > out.txt
  • TestFirstProgramming . . . . 3 matches
         메인 코드를 만들기 전에 해당 코드의 의도를 표현해줄 테스트 코드를 먼저 만드는 기법.
         테스트코드는 프로그래머가 하려고 하는일, 즉 의도를 담아낸다. 이는 이 프로그램이 어떠한 시나리오로 돌아갈것인가를 먼저 생각해보는 기회를 저절로 제공해준다. Test가 가능한 코드는 run 을 시켰을때 어떤 결과를 낼지를 파악할 수 있는 코드이다. 이 경우 해당 모듈이 완성되었을때가 언제인지 그 목표를 분명하게 잡는 역할을 해준다.
         프로그램이 길어지다보면 Test Code 또한 같이 길어지게 된다. 어느정도 Test Code 가 길어질 경우에는 새 기능에 대한 테스트코드를 작성하려고 할 때마다 중복이 일어난다. 이 경우에는 Test Code 를 ["Refactoring"] 해야 하는데, 이 경우 자칫하면 테스트 코드의 의도를 흐트려뜨릴 수 있다. 테스트 코드 자체가 하나의 다큐먼트가 되므로, 해당 테스트코드의 의도는 분명하게 남도록 ["Refactoring"] 을 해야 한다.
  • TheWarOfGenesis2R . . . . 3 matches
          5. [[HTML(<STRIKE>)]] 타일 에디터 만들기 [[HTML(</STRIKE>)]] - 2시간 30분
          6. 시나리오 에디터 만들기
          * 내가 그 길찾는 프로그램 돌려봤는데.. 가끔은 벽을 뚫기도 한다. ^^ 내부벽 뿐만 아니라 외부벽을 뚫고 나가 헤매기도..;; 그리고 지그재그로 돌다가 가기도 한다. 참고하라궁...^^ --["창섭"]
  • UnitTest . . . . 3 matches
         ExtremeProgramming 에서는 TestFirstProgramming 을 한다. TestFirstProgramming 에서는 해당 기능에 대한 테스트 프로그램을 먼저 만들고, 실제 프로그래밍을 한다.
         TestFirstProgramming 을 하게 되면 해당 프로그램을 작성해 나가는 과정이 UnitTest 작성중 남게 된다. 이는 일종의 WhiteBoxTesting 이 된다. 또한, 해당 모듈이 제대로 돌아가는지에 대한 결과도 체크하므로 BlackBoxTesting 의 역할을 한다. 즉, ExtremeProgramming 에서의 UnitTest 는 두가지 테스트의 성격을 같이 포함하고 있다. (Gray Box Testing)
         A: Socket 이나 Database를 이용하는 경우에는 문제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 한데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
  • VMWare/OSImplementationTest . . . . 3 matches
         intel x86 cpu에서 돌던 프로그램도 586에서도 수행되도록 하위호환을 갖게 됩니다.
         i386+ 환경으로 만들기 위해서 적어도 다음과 같은 일을 하게 됩니다.
         부트 이미지 뜨는 프로그램 만들면된다.
  • WikiProjectHistory . . . . 3 matches
         || ["MineFinder"] || ["1002"] || 2002.2.20~3.1. Win 지뢰찾기의 지뢰 찾아주는 프로그램 제작 || 종료 ||
         || ["MFCStudy_2001"]|| 6명 || 2001.2학기~ 2002.1 MFC 를 이용한 개인 프로그램 작성||종료||
         || ["우리홈만들기"] || ["물푸"],["setsuna"],["woodpage"],["zennith"]|| 2002년 2.28 종료 || 종료 ||
  • ZIM/EssentialUseCase . . . . 3 matches
         화일 전송시의 System Response는 클라이언트프로그램의 입장에서 써야 하나요? -- 석천
          클라이언트 프로그램 + 서버 프로그램 = 시스템 아닌가요? ^^ -- 데기
  • ZPBoard/HTMLStudy . . . . 3 matches
          * 웹 전화번호부 만들기
          * 이름과 전화번호를 입력할 수 있도록 만들기
          * MySQL 과 PHP 를 사용해서 만들기
  • ZeroPage정학회만들기 . . . . 3 matches
          see also ["ZeroPage정학회만들기/지도교수님여론조사"]
          - 다 좋은생각입니다만, 일단 정학회를 만들기 위해서는 학생들 사이에서의 여론을 조성하는 것이 무엇보다 우선이 되어야 할것 같군요 우리 과 사람들이 다 인정한다면 학생회에서도 훨씬 더 쉬울 수 있기 때문입니다. 학생회가 아니라도 여론 조성은 제1순위가 되어야 할것 같습니다 - 상욱 (["whiteblue"])
          - ''단순히 설문을 한다는 의미 외에 ["ZeroPage정학회만들기"] 를 학우들에게 알린다는데에도 의미가 있다고 생각합니다. 제 생각이지만, 제로페이지의 정학회化에 대해 논의가 이루어지고 있다는 사실을 알고 있는 학우는 거의 없는 것 같습니다. (거의 제로페이지 내부사람이나. 설문에 참여했던 사람정도가 아닐까요. 설문지를 작성한 학우들이 많다면 할말이 없지만요.;;). 만약 그렇다면, 이번 기회에 쉽고 편한 방법으로 학우들에게 알리는건 어떨런지요 - 임인택'' [[BR]]
  • Zeropage/Staff/회의_2006_02_13 . . . . 3 matches
         신입생 3월에 준회원 -> 세미나 프로그램 생각하기(커리큘럼 작성)
         1학기->페어 프로그램, 문제풀기
         프로그램접수 : -
  • eclipse디버깅 . . . . 3 matches
         프로그램을 한 단계 진행하되, 메쏘드 호출부라면 실행 포인트를 메쏘드 안으로 옮긴다. 호출하는 메쏘드의 내부 동작을 확인하고 싶을때 사용한다.
         에디터에서 커서가 위치한 곳까지 실행한다. 브레이크포인트를 새로 추가하지 않고도 코드 내 임의의 위치로 실행포인트를 옮기고 싶을 때 유용하다. 실행되지 않을 부분을 선택한 상태에서 Run to Line을 실행시키면 프로그램이 끝까지 진행돼 버릴 수 있으므로 주의해야 한다.
         프로그램을 종료한다.
  • html5practice . . . . 3 matches
          * 간단한 파일(그림, 텍스트) 전송 프로그램
          * filewriter가 구현 된다면 레알 p2p 전송 프로그램을 만들어도 좋을 듯
          * [html5practice/즐겨찾기목록만들기] : [html5/web-storage] 활용 - 이승한
  • i++VS++i . . . . 3 matches
         그냥 사용한 경우나, for 문에서 사용한 경우는 ++i 와 i++ 의 성능 차이가 없다. 그러나 함수의 전달인자로 사용한 경우는 ++i 보다 i++ 의 코드가 명령어 한개 정도 길어진다. 하지만 그냥 사용한 경우나 for 문에서 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 서로 바꿔 써도 상관 없으나, 함수의 전달인자로 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 바꾸면 실행 결과가 달라진다. 그러므로 함수에서 i++ 을 사용하고 있을 경우 프로그램이 한 줄 이라도 추가되지 않고 ++i 로 바꿀수 있으면 바꾸는 것이 더 효율적이다. 또한 그냥 사용할 경우나, for 문에서 사용한 경우는 ++i 를 쓰지 않아도 상관 없다. --["상규"]
          쩝.. 저는 별로 신경쓰지 않는데요... (무감각하다는;;;) Amdahl's Law 였나.. 프로그램 속도를 증가시키려면, 제일 시간을 많이 잡아먹는 부분을 수정하라고... 쩝.. 마이크로 프로그램이나. 리얼타임 어플리케이션같은곳에서는 필요할수도 있겠군요.; - 임인택
  • naneunji . . . . 3 matches
         == 프로그램 소스들 ==
          * 단어찾기 프로그램 (자료구조 3번째 숙제) [[BR]]
          * 성적처리 프로그램 (c 프로그래밍 term project) [[BR]]
  • ricoder . . . . 3 matches
         프로그램 잘 못짜는거 영동이가 많이 도와준다.. ㅜ_ㅜ
          흠... 이 프로그램도 영동이의 도움.. ㅡ.ㅡ;; 영동이 소스 보고 하다보니깐. 완젼 똑같아졌네요. -_-;;
         // 음... 시간이 되면 프로그램 종료되는...... 그런 소스..-_-;
  • 검색에이전시_temp . . . . 3 matches
          * [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
  • 고한종 . . . . 3 matches
          * JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
          * 동시에 프로그램에 들어간 노력과 시장에서 팔리는 정도는 별 관계가 없다는걸 알게 되었겟지.- 아마도 [김태진]
          * 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때문에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
  • 권영기 . . . . 3 matches
          * [권영기/채팅프로그램]
          * NIPA-Purdue 캡스톤 프로그램
  • 데블스캠프2004준비 . . . . 3 matches
         === 프로그램 문제 ===
          * 중대 졸업가능여부 판단 프로그램
          새회원이 프로그램 문제를 해결하는 동안 기존 회원을 위한 세미나를 준비해보면 좋겠다는 제안이 나왔습니다. 작년 기록을 보면 기존 회원을 위한 세미나는 없었던 모양입니다.--[Leonardong]
  • 데블스캠프2005/게임만들기 . . . . 3 matches
         테트리스 만들기 틀 소스(.dsw파일을 실행하셔서, user.cpp파일에 작성하시면 됩니다.)
         테트리스 만들기 틀을 이용한 완성 예제
         [데블스캠프2005/게임만들기/제작과정예제]
  • 데블스캠프2005/목요일후기 . . . . 3 matches
          보안.. 흥미로운.. 이리저리 생각도 해보고 할수 있었던게 가장 좋았던.. 하지만 암,복호화 하는 프로그램을 짜라고 할땐..;;역시 코딩력이 부족한.. 코딩력을 키우자.. 아자!! 오늘은 실습이 많아서 긴장? 되었던.. 덕분에 조는 시간 없이 밤을 지샌...
         4. 희생자 발생이 적은(?) 인식률 높은 프로그램 만들기!!
  • 데블스캠프2005/언어디자인/그까이꺼 . . . . 3 matches
         loop란 프로그램이 있다
         viewer란 프로그램이 있다. 뒤에 출력하고싶은 것을 입력한다. ','로 구분한다.
         loop(viewer<-star,ent)x5는 별을 화면에 하나 나타내고 한줄 띄우는 프로그램을 5번 반복한다.
  • 데블스캠프2005/화요일후기 . . . . 3 matches
         좋았던 점은 파이선이라는 새로운 프로그램과 하노이라는 간단하면서 어려운 문제를 해결해 나가는데에서 더욱더 나 자신을 발전시킬수 있었다. 그리고 선배님과 많은 상의를 해보면서 선배도 우리를 잘 가르쳐주시고 우리는 선배님의 지식을 습득해 가면서 정말 좋은 시간이 되었다. 밤을 새가면서 공부를 한다는 것은 그것만으로도 아주 커다란 성취감을 갖게 한다. 나쁜점은 아무래도 밤이라서 잠과의 싸움이 가장 큰 문제이다. 밤이라서 집중이 잘 안되는 건 어쩔수 없다. 밤을 새가면서 공부를 한다는건 참으로 어려운 일이다.
         [남도연]:오늘 크게 2가지를 배우게 되었다. 하나는 알고리즘과 자료구조에 관한 내용이었고 하나는 파이선에 대해 배운 것이었다. 알고리즘과 자료구조는 평소 우리가 수업시간에 들었던 내용이기는 하였지만, 막상 코드로 직접 적용하려니 잘 풀리지 않았다. C코딩을 할때 중요한 것이 알고리즘이라는 것을 또 한번 느끼게 되었다. 아무 생각 없이 코딩을 무작정 하려고 하다가는 크게 낭패를 본다는것을 배웠기 때문이다. 알고리즘은 하나의 계획표라고 볼 수 있다. 하나의 프로그램을 짜기 위한 계획표. 파이선은 C언어와는 사뭇 다른 언어였다. C언어 보다 편리한면이 많아 보이기는 했지만, C언어보다 못한 점도 간혹 보였다. 아직 미숙하기 때문에 딱히 무엇이라 말할 수는 없지만.. ㅋ 오늘 새로운 언어도 배우고 알고리즘의 중요성도 다시금 느끼게 되어 날 샌것이 아깝지 않았지만, 내준 과제 모두를 다 해결 하지 못한 것이 아쉬움이 남는다. 다 해결했으면 더 뿌듯 했을텐데 .. ㅋ
         [안성진] : Python을 첨 접하게 되었는데 정말 많은 걸 배웠습니다. 어렵기도 했지만 역시 프로그램 하면서 날 새는 기분은 끝내주네여...~~ㅎ 강사님들 수고하셨고여 저 역시도 방학때 할 일이 참 많아 질 것 같네영.. ㅋㅋ 남은 일정 동안 열심히 합시다. ^^
  • 데블스캠프2009/수요일후기 . . . . 3 matches
          * '''박준호''' - 객체지향 프로그램 이라는 것에 대해 개념을 잡아놓은 시간 이였습니다. 진짜 제가 코드를 짜지는 않았지만 의사 코드라는 것을 이용하여 한번쯤 객체지향으로 코드를 짜본것도 좋은 경험이 되었습니다.
          * '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
  • 데블스캠프2010/셋째날/후기 . . . . 3 matches
          * python 을 이름만 들어봤는데 이렇게 직접 해보니 정말 재미있었던 시간이었습니다. turtle함수를 이용한 그림그리기 프로그램을 해보니 파이썬에 대한 흥미가 들었습니다. 앞으로 파이썬에데해서 많은 관심을 가지게된 계기가 된것 같습니다. - [양아석]
          * 디버거를 통한 프로그램의 패스워드 알아내기가 정말 인상적이었습니다. 그리고 가상화를 통해 조금더 편리한 프로그램 실행을 추구한다는것도 잘알게되었습니다. 윤종하 ㅈㅈ.. - [양아석]
  • 데블스캠프2011/다섯째날/후기 . . . . 3 matches
          * 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관한 간단한 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
          * turtle를 보면서 이것 저것 파이선에 어렵지 않게 접근할 수 있어 좋았습니다. 누구처럼 노가다는 안시켜서 좋았네요. (그러고 보니 그 누구도 파이선을 가지고 했었네;;) 여하튼 파이선으로 채팅 프로그램을 소스 복사(-_-) 해서 써 보니 재미있었습니다. 자바로도 그런거 했던 게 기억나네요. 전반적으로 쉽게 그리고 재미있게 설명을 해 주신 세미나였습니다. 재미있게 3시간이 지나간 것 같네요. 다만, 하라고 하셨던 것이 잘 구현이 안 되었던 것 같아 그런 거 빼곤요. 그리고 와이어샤크는.. 보면서 음..... 이런게 있구나 하고 넘어가서인지 좀 더 많이 써 봐야 할 듯 싶네요a
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원 . . . . 3 matches
          * 프로그램을 재실행하면 또 오래 기다려야 해서 파일 입출력을 적극 활용
          * 고로 이 프로그램을 복붙해서 그냥 실행하면 돌아가지 않습니다
          * 이 프로그램은 Bayes Classifier 값을 구하는것 까지이고, 시간 관계상 값의 참/거짓 빈도는 엑셀을 이용해서 계산했습니다.
  • 데블스캠프2011/둘째날/후기 . . . . 3 matches
          * 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 한 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력한 것 같아요. 1학년 떄는 이래저래 미숙한 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
          * 처음해보는 Scratch 였습니다. 그림을 끌어다 놓고, 명령어들을 끌어다가 추가시키면서 프로그램 진행을 구성하고... 독특하고 신기했습니다만 정작 익숙해지기에는 힘들었습니다. 코드로만 하다가 이렇게 짜여진 틀을 움직인다는게 어색해서 짜고있던 게임을 완성시키지는 못 한것이 아쉬었다.
          * Scratch를 어제 블럭 쌓기라고 해서 무슨 테트리스 같은 거라고 생각했는데, 오늘 보니 아 이런거구나 하는 것을 알게 되었습니다. 꼭 프로그램 짜기 전에 의사 코드로 하는 것 같더군요a. 마지막에 성현이가 게임 만들으라고 해서 뭐 할까 하다가 슈퍼마리오 배경도 있고 해서 그걸로 좀 비슷하게 하려고 했는데, 파이프에 닿았을 때 그걸 넘어가게 하는 걸 하려다 망했네요 ㅋㅋㅋ 그러다 보니 그냥 마리오가 움직이고 뛰기만 하는 걸로 끝났습니다. 좀 더 도구를 잘 활용하지 못함이 아쉽긴 했습니다.
  • 데블스캠프2011/셋째날/String만들기 . . . . 3 matches
          * [데블스캠프2011/셋째날/String만들기/송지원]
          * [데블스캠프2011/셋째날/String만들기/김준석]
          * [데블스캠프2011/셋째날/String만들기/서지혜]
  • 데블스캠프2012/넷째날/후기 . . . . 3 matches
          * 실제로 강사 당사자가 '''5일간''' 배운 C#은 실무(현업) 위주라 객체지향 관점이라던가 이런건 많이 못 배웠습니다. 함수 포인터와 비슷한 Delegate라던가 Multi Thread를 백그라운드로 돌린다던가 이런건 웬지 어린 친구들이 멘붕할듯 하고 저도 확신이 없어 다 빼버렸지요 ㅋㅋㅋㅋㅋㅋ namespace와 partial class, 참조 추가 dll 갖고 놀기(역어셈을 포함하여) 같은걸 재밌게도 해보고 싶었지만 예제 준비할 시간이 부족했어요ㅠ_- 개인적으로 마지막 자유주제 프로그램은 민관 군 작품이 제일 좋았어요 ㅋㅋ - [지원]
          * [엄제경] - 뭔가 옛날에 VB배웠을때 기억나서 좋았어요. 근데 자율로 프로그램 만드는 거에서 원하는 기능을 구현해내지 못해서 ㅠㅜ 조금 아쉽네요 ㅎ.
          * 12학번도 VB를 해본 분들이 많군요. 자유 프로그램 작성에 실패했다면 개인적으로 재도전해보는건 어떨는지요..?? - [지원]
  • 데블스캠프2012/셋째날/후기 . . . . 3 matches
         = 앵그리버드 만들기 =
          * [서영주] - 이번에는 진짜 웹 천국인것 같습니다. 저번에는 웹이 하나도 없던 반동인건가... 게다가 어째 처음부터 짠것처럼 첫 날에 수업한 내용이나 프로그램들을 뒤에서도 계속 써먹으니까 추가적인 이해를 하는데 좋았던 것 같습니다. 물론 제대로 코딩을 하는건 그런 기술 이전의 문제인 것 같지만요. 감사합니다.
          * [김태진] - 사실 물리법칙 구현이 목표였는데, 데블스버드 만들기쯤으로 뻥튀기해 실습하였더니 좀 더 괜찮았던거 같네요. 작년 이맘때 canvas를 잘 써먹어봤는데, 신입생들도 이걸 해보고 잘 써볼 수 있기를 기원합니다. 구현에 치중된 GUI를 쉽게 짜는건 html과 javascript를 이용하는게 가장 쉽고 간단하게 이해할 수 있더라구요.
  • 방울뱀스터디/Thread . . . . 3 matches
         쓰레드는 하나의 프로그램(프로세스)안에서 여러가지 일을 동시에 처리해 주는 것을 말합니다.
         프로세스(process) : 쓰레드와 비슷하기는 하지만 좀 더 큰 개념을 말하는데, 서로 다른 프로그램이 동시에 처리될 각각의 프로그램을 가리킴니다..
  • 비행기게임/진행상황 . . . . 3 matches
          * 7.8 ~ 7.9 : pygame 라이브러리 사용하니깐 만들기가 상당히 편한거 같다. 대충 비행기 움직이게 만들었다.
          * 배경 (산)별 중간쯤에 날라 다니는 효과 만들기 --시간 없음
          * 폭발 멋지게 만들기
  • 새싹교실/2011/AmazingC/5일차(4월 14일) . . . . 3 matches
         1~2. 다음을 출력하는 프로그램을 작성하세요.
         3. 구구단을 출력하는 프로그램을 작성하세요.(1단~9단)
         4. 369게임을 30미만까지만 출력하는 프로그램을 작성하세요.(게임 방식대로)
  • 새싹교실/2011/Pixar/5월 . . . . 3 matches
          * 오늘은 재귀함수 복습하는 차원에서 하노이탑을 같이 구현해봤습니다. 아마 좀 어려웠을거예요. 저도 1학년때 어디서 열심히 보고 짰는데 방학되고 짜보려니 또 생각이 안 나서 헤맸던 기억이 나네요. 오늘 해봐서 알겠지만 완성된 하노이탑 소스코드가 원반 하나하나를 순서대로 옮기는 프로그램은 아니었어요. 그런데도 실행시키니 제대로 움직이는 걸 볼 수 있었죠. 만약 원반 하나하나를 따로 생각했다면 원반이 7개만 되어도 생각하기 너무 어려웠겠지만 n개의 원반을 옮기는 문제를 n-1개의 원반을 옮기는 문제와 n번째 원반을 옮기는 문제로 나눠서 생각하니 간단하게 해결됐죠. 앞으로 학년이 올라가면서 더 복잡한 프로그램을 짜다보면 이런 접근이 얼마나 중요한지 느끼게 될 거예요. 문제를 해결할 때 전체를 보고 단계를 나눌 수 있어야합니다. 우리가 그림을 그릴때 숲을 그린다고 하면 어떤 귀퉁이의 나뭇잎 하나부터 그려나가는 게 아니잖아요. 나무의 배치, 뼈대같은 것을 먼저 그려야 균형잡힌 그림을 그릴 수 있듯 프로그램을 만들 때도 큰 그림을 먼저 생각해볼 수 있었으면 좋겠습니다. 물론 그런 접근이 단번에 몸에 익지는 않을 거예요 ㅋㅋ
  • 새싹교실/2011/무전취식/레벨4 . . . . 3 matches
          * 수업이 길긴 했는데ㅋㅋ 많은 것들을 배웠고 제어문을 활용해서 간단한 게임을 만드는 과정이 참 재미있었어요. 게임 만드는게 어려워보이긴 했지만 그래도 익숙해지면 편할 것 같아요. 요즘 중간고사 기간이라 시간에 쫒기기 시작했어요 ㅜㅜ 게임 만들기가 숙제인데 중간고사 공부 하느라 만들 시간이 좀 없을 것 같지만 중간중간 비는 시간을 활용해서 C언어 중간고사 준비와 간단한 게임 만들기를 할 계획입니다~! -[서원태]
          * 히히 이번주는 연산자와 함수를 배웠습니다! 소라때리기 게임도 만들었구요...ㅎㅎ 3시간이나 했는데 생각보다 그렇게 힘들진 않았어요 배울때는요!...ㅋㅋㅋ끝나고 팀플하러 갔는데 골아 떨어졌었어요...ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아무튼..연산자는 수업시간에 이어 두번째 배우는거라 괜찮았어요 히히 함수는 쫌 어려웠던거 같아요..기억이 잘 안나용....ㅎㅎ...ㅋㅋㅋㅋ 게임 만들기 할 때 ㅋㅋㅋㅋ첨에는 이해가 갔는뎅 점점 잘 안 됐어요...ㅎㅎㅎㅎ....ㅋㅋㅋㅋ 그래도 생각보다는 괜찮은거 같아요ㅠ.ㅠ....상대적으로...절대적으로는 아니에옄ㅋㅋㅋㅋㅋㅋ이해해보도록 노력하겠슴당 ㅠㅠ -[이진영]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.4.6 . . . . 3 matches
          1. 구구단을 9단부터 2단까지 출력하는 프로그램을 작성하시오~
          2. 다음 출력 결과를 보여주는 프로그램을 작성하시오~
          3. 다음 출력 결과를 보여주는 프로그램을 작성하시오~
  • 새싹교실/2012/ABC반 . . . . 3 matches
         virtual box의 새로만들기에서 우분투 가상머신을 새로 만든다.(설정은 기본설정이면 되되 메모리 용량은 1024MB로 한다)
         파일-새로만들기-파일에서 C++파일을 선택하되 이름 끝에 .c를 붙여서 C파일로 만든다.(C와 CPP는 약간 문법적인 부분이 다르다.)
         다음 코드 안을 채워 넣어서 계산기 프로그램을 완성하세요
  • 새싹교실/2012/부부동반 . . . . 3 matches
          C/C++의 문법과 활용을 자세하게 설명한 책. 문법을 소개하는데 그치지 않고 변화화는 코드가 실제 프로그램과 하드웨어적으로 어떠한 영향을 일으키는지 비교함으로써 본 스터디의 목적과 매우 잘 부합됨
         이 둘을 읽어와 값을 출력하는 프로그램을 작성하라
         프로그램의 개요를 A4용지 1장 이내에 작성하여 ahnzaz@gmail.com으로 보내주세요.
  • 새싹교실/2012/새싹교실강사교육/1주차 . . . . 3 matches
         3. 새싹 강사와 학생이 페이지 만들기 새싹교실/2012/반이름/ 을 만들고 결의 각오를 적어놓기
         3.3 Vitualbox실행 -> 새로 만들기 -> 다음 -> 운영체제 : Linux 버전: Ubuntu(64bit) ->다음 -> 메모리(1024MB) -> 다음 -> 다음 -> 무한 다음 -> 만들기 버튼 클릭 -> 완성
  • 새싹교실/2012/아무거나/2회차 . . . . 3 matches
         별만들기 후기
         오늘 손봉수 교수님의 수업을 듣고 제대로 이해하지 못하였었던 별만들기 수업을 다시 해보니 어렵다는 것도 깨닫았고 또 별만들기를 직접 해보니 더 이해도
  • 새싹교실/2012/아우토반/앞반/3.29 . . . . 3 matches
          * 프로그램 분석을 하고 설명을 들었습니다. 설명을 들을때 이해도 되고 몰랐던 사실에 대해 알게 되어서 좋았습니다. 그런데, 프로그래밍에대해서 조금 안다고 해서 제가 뭐가문제인지, 무엇이 부족한지 잘 몰랐는데 수업을 하면서 알게되었습니다. 성준이나 저나 완전히 모르는게 아니라 수업 진도가 빨랐었는데
         앞부분 반복문, 조건문 등 소스는 이해되지만 프로그램을짤때에는 잘 못짜고, 실전에서 사용하는것이 소스를 보는것보다 직접짜는것이 매우 미숙하다고 느껴졌습니다. 그래서 진도만이 아닌 알더라도 앞에서 확실히 기초를 다지고 새로운것을 배웠으면 좋겠습니다.ㅜㅠㅠ..-[안혜진]
         (4) 가위바위보 게임을 만드시오. 컴퓨터와 가위바위보를 해서 연속으로 3번 이겨야 프로그램이 끝나도록 작성하시오.
  • 새싹교실/2012/아우토반/앞반/4.5 . . . . 3 matches
          * 어깨가 빠지는줄 알았어요..유.유 왜냐면 제 노트북을 가져왔었거든요. 제 노트북으로 신나게 프로그램 4개를 ㅉㅏ 보았습니다. 아우토 샘이 힌트를 좀 주셨지만, 그래도 스스로 생각해서 해보아서 보람찼습니다. 그리고 프로그래밍의 세계는 매우 무긍무진합니다. 왜냐하면 같은 프로그램인데 성준이아 소스코드가 달랐기 때문입니다. 하하하.. 신나요신나 WoW~~ 앞으로 프로그램 많이 짜보며 연습하고 복습도 열심히! 질문도 열심히 하겠습니다. 룰루랄라
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 3 matches
         - 연습문제 : 콘솔창에 자기가 원하는 방향으로 기호를 움직이게 하는 프로그램 만들기.(둘다 성공.)
         - 앞으로의 방향 : 이제 문제를 풀면서 메모리의 구조를 다시 전반적으로 설명하고, 입출력방식, 간단한 알고리즘(유클리드 호제법같은)을 가르친다. 이렇게 준비를 한후 포인터에 돌입. 그리고 포인터에 대해서 이해가 어느정도 쌓였을때 발전시킬 수 있는 프로그램을 만들게 하면서 실력을 증가시킨다.
  • 서버구조 . . . . 3 matches
         usr - 사용자가 정의하는 프로그램 저장
         1. 설치된 프로그램의 버전, 버그등의 수정이 이루어지면 갱신하거나 패치하도록한다.
          1-2. caucse.net/test.html => 각 프로그램들의 버전, 설정 정보들을 알 수 있다.
  • 송지원 . . . . 3 matches
          * 2011년 : IBM Campus Wizard 8기 활동, 2011-1학기 튜터링 프로그램에서 Tutor로 참여. ZeroPage 20주년 성년식 기획단 참여.
          * [데블스캠프2011/셋째날/String만들기/송지원]
          * [PC실관리프로그램]
  • 시간맞추기 . . . . 3 matches
         문제 : user가 시간을 맞추는 프로그램이다. 프로그램 시작 후 8초가 경과되었다고 생각했을 때, user가 아무키나 누른다.
         만약 그 시간맞추기가 정확하다면 user가 이기도록 프로그램을 작성하여라.
  • 시간맞추기/허아영 . . . . 3 matches
         그리고, 이 프로그램 . 나도 못 맞추겠다. 8초를 어떻게 딱!! 알아낸담 ㅋㅋㅋ
          내가 얼핏 보기에는 clock() 함수도 프로그램 시작하고 시간을 제는 것이라고 들었는데, 어떻게 쓰는걸까? - [허아영]
          음.. clock_t라는 time_t랑 비슷한 변수를 만들고 변수명=clock() 라고하면 프로그램이 시작된 뒤부터 지나간 시간이 기록되는군.. 그런데 함수의 특성상 정확한 시간을 나타내지는 않는다는 단점이..;;ㅁ;; - [조현태]
  • 실습 . . . . 3 matches
         객체와 클래스 (성적 관리 프로그램)
         성적 관리하는 프로그램을 클래스(class)를 이용하여 C++로 작성하여 본다.
         6) Location:에 프로그램을 작성할 경로를 지정한다.
  • 열린제로페이지 . . . . 3 matches
          '숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부한 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그러나 그가 속한 '우드페이지'란 학회에는 보안에 관심이 있는 사람이 그렇게 많지 않았다. 결국 '숨쉬는독'군은 선배, 동기를 모아(공교롭게도 그들은 '우드페이지' 회원이 아니었다.) 보안학회 '까스'를 만들기로 결심을 한다. 그러나 관련 분야 초보자가 새로운 학회를 만들기란 무척 버거운 일이었다. 결국 그가 만든 보안학회는 좌초되었다.
         이전까지의 문제는 Service + Content 제공자가 ZeroPage 나 JStorm 밖에 없어서였지만, 지금은 동문서버가 있는 이상, 동문서버에게 해당 Service 를 요청할 수 있겠고요. (위키, 게시판 등등이요. 이미 만들어져 있는 프로그램들에 대해서는 그다지 큰 문제는 아닐것 같고요.)
  • 위키개발2006 . . . . 3 matches
          * 사이트내 실시간 채팅 매크로 추가. 아래와 같은 매크로 사용시에 실시간 채팅 매크로가 추가 된다. 직접 구현은 안했고, gabbly 거 이용함.
         || 사이트 전체가 아닌 카페별 채팅창 넣기 || 남상협 ||
  • 윤성준 . . . . 3 matches
         || 순번 || 프로그램명 || 작성시간 || 소스코드 ||
         || 1 || 프로그램 || 3시간 || [프로그램/윤성준] ||
  • 정모/2002.5.30 . . . . 3 matches
          * PairProgramming 에 대한 오해 - 과연 그 영향력이 '대단'하여 PairProgramming을 하느냐 안하느냐가 회의의 관건이 되는건지? 아까 회의중에서도 언급이 되었지만, 오늘 회의 참석자중에서 실제로 PairProgramming 을 얼마만큼 해봤는지, PairProgramming 을 하면서 서로간의 무언의 압력을 느껴봤는지 (그러면서 문제 자체에 대해 서로 집중하는 모습 등), 다른 사람들이 프로그래밍을 진행하면서 어떠한 과정을 거치는지 보신적이 있는지 궁금해지네요. (프로그래밍을 하기 전에 Class Diagram 을 그린다던지, Sequence Diagram 을 그린다던지, 언제 API를 뒤져보는지, 어떤 사이트를 돌아다니며 자료를 수집하는지, 포스트잎으로 모니터 옆에 할일을 적어 붙여놓는다던지, 인덱스카드에 Todo List를 적는지, 에디트 플러스에 할일을 적는지, 소스 자체에 주석으로 할 일을 적는지, 주석으로 프로그램을 Divide & Conquer 하는지, 아니면 메소드 이름 그 자체로 주석을 대신할만큼 명확하게 적는지, cookbook style 의 문서를 찾는지, 집에서 미리 Framework 를 익혀놓고 Reference만 참조하는지, Reference는 어떤 자료를 쓰는지, 에디터는 주로 마우스로 메뉴를 클릭하며 쓰는지, 단축키를 얼마만큼 효율적으로 이용하는지, CVS를 쓸때 Wincvs를 쓰는지, 도스 커맨드에서 CVS를 쓸때 배치화일을 어떤식으로 작성해서 쓰는지, Eclipse 의 CVS 기능을 얼마만큼 제대로 이용하는지, Tool들에 대한 정보는 어디서 얻는지, 언제 해당 툴에 대한 불편함을 '느끼는지', 문제를 풀때 Divide & Conquer 스타일로 접근하는지, Bottom Up 스타일로 접근하는지, StepwiseRefinement 스타일를 이용하는지, 프로그래밍을 할때 Test 를 먼저 작성하는지, 디버깅 모드를 어떻게 이용하는지, Socket Test 를 할때 Mock Client 로서 어떤 것을 이용하는지, 플밍할때 Temp 변수나 Middle Man들을 먼저 만들고 코드를 전개하는지, 자신이 만들려는 코드를 먼저 작성하고 필요한 변수들을 하나하나 정의해나가는지 등등.)
         일반적으로 피시실 등이나 세미나때에 선배들과 이야기하고, 선배들에게 조언을 들으면서 프로그래밍을 하는 것과 프로그램의 처음 작성부터 PairProgramming 을 하는 경우가 어떤 차이가 있을지 생각을 해보고 이러한 '페어가 저절로 진행되어서' 라고 결론을 내렸으면 합니다.
          * 주소록 만들기
  • 정모/2003.11.17 . . . . 3 matches
          * 파이선: 주제가 바뀜: 채팅프로그램 만들기로.
  • 정모/2004.5.7 . . . . 3 matches
          - 새로운 유저 만들기
         * 페이지 만들기
          - 페이지 만들기
  • 정모/2006.2.16 . . . . 3 matches
         신입생 3월에 준회원 -> 세미나 프로그램 생각하기(커리큘럼 작성)
         1학기->페어 프로그램, 문제풀기
         프로그램접수 : -
  • 정모/2011.10.5 . . . . 3 matches
          * [이민규]의 3Ds Max로 도미노 만들기.
          1. 요새 정모가 주로 앉아서 듣기만 하는 형태인 것 같아서 퀴즈를 진행했는데 예상보다 정적인 퀴즈가 됐네요ㅜㅜㅜ 다음주엔 좀 더 활발하게 다들 참여할 수 있는 프로그램을 준비하겠습니다. 운동장 빌려서 체육대회라도할까요??? - [김수경]
          * 세미나 잘 봤습니다. 안드로이드에 관심은 있지만 허니컴은 디바이스가 없어서.. ㅠㅠ 어디가서 갤탭하나 물어오고 싶습니다. OMS도 재미있는 주제였습니다. 툴의 위대함도 있지만 저런 프로그램을 만드려면 돈을 얼마나 투자해야할까.. 라는 생각도 들었습니다-_-; OX퀴즈의 올 F는 압권이었습니다. 다음에 또 한다면 이런 경험을 참고해야겠어요. - [정진경]
  • 정모/2012.3.12 . . . . 3 matches
          * 40주년 기념 행사와 함께 프로그램 전시회가 있습니다. 많은 출품 부탁드린답니다.
          * 어떻게 될지는 모르겠지만 friendship, 과학기술동아리 지원 등 ZeroPage가 지원받을만한 프로그램들이 많이 있네요. 이런 저런 기회들이 많이 보이는 것이 좋습니다. 외부에서 동아리 지원 프로그램을 운영하는 것이 좋다기보다는 이런 기회가 있다는 걸 모르고 지나치지 않는 ZeroPage가 좋아요. - [김수경]
  • 정모/2012.5.14 . . . . 3 matches
          * 동영상 강의도 있네요, [http://www.snow.or.kr/lecture///10628.html 프로그램의 구조와 해석] - [서지혜]
          * 채팅서버 만들기 프로젝트
  • 조영준 . . . . 3 matches
          * 소문자를 대문자로 변환시켜주는 프로그램
          * [조영준/다대다채팅]
          * [조영준/다대다채팅]
  • 조영준/파스칼삼각형/이전버전 . . . . 3 matches
          * PTriangle 클래스만 똑 떼서 파스칼 삼각형을 필요로 하는 다른 프로그램에서 쓸 수 있게 손을 봤습니다.
          if (lines == 0) return; // 프로그램 종료
          if (lines == 0) return; // 프로그램 종료
  • 조현태/놀이/미스틱아츠 . . . . 3 matches
          || 2005.04.14 || 네모네모 로직 푸는 프로그램 완성~~>ㅁ<;; 너무 힘들었..ㅎㅎㅎ(for와 if만 사용한;;) || [조현태] ||
          처음에는 아무생각 없이 만들면 되지 않을까 하는생각에 만들기 시작했다.
          혹시 누군가가 게임을 만들려고 한다면, 이미지 자료를 충분히 구하고 하거나 그래픽 디자이너를 구하고 만들기 시작하라고 권하고 싶다.
  • 조현태/프로젝트 . . . . 3 matches
          * php블로그 만들기 - 완성될 수 있을까??ㅎㅎ
          * 땅콩이 만들기 - 의외의 인공지능으로 높은 개그수준을....;;;;;;;;
          * 오목 만들기 - 후후후.. 낮은 인공지능..ㅠ.ㅜ 왜 주인의 마음을 알아주지 않는거니? 바빠서 좀 뒷전.;;
  • 창섭/배치파일 . . . . 3 matches
         여기서 쓰고 싶은 대로 적기만 하면 됩니다.제일 마지막행의 ^Z 는 파일의 제일 마지막 부분이라는 것을 도스에게 알려주는 코드로 < Ctrl + Z > 키 또는 F6 키를 누르면 됩니다. 그리고 엔터키를 한번더 누르면 '1 File(s) copied' 라는 메세지가 출력되는데, 이는 방금 ' copy con 파일명 ' 으로 작성된 문서파일이 성공적으로 만들어졌다는 뜻입니다.위의 문서파일은 확장자가 .BAT 로 붙었기 때문에 실행가능한 외부 명령어가 되는데, 배치파일은 명령이 기록되어 있는 순서대로 실행되기 때문에 timedate.bat 를 실행시키면 먼저 화면을 지우고 난뒤 시스템의 시간과 날짜를 설정합니다.간단한 배치파일은 'copy con 파일명' 으로 작성하는 것이 다른 프로그램의 도움없이 쉽고 빠르게 처리할 수 있습니다. 하지만 배치파일이 조금 길거나 작성중에 수시로 편집할 일이 생기는 경우에는 불가능합니다. 'copy con 파일명' 으로 파일을 작성하면 행으로 다시돌아갈 수 없을 뿐 아니라 수정이 불가능하기 때문입니다. 그러므로 배치파일을 만들 필요가 있을때는 문서 에디터를 이용하는 것이 좋습니다.
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         - ERRORLEVEL <수치> : 바로 전에 실행한 명령(프로그램)의 종료 코드가 <수치> 이상일 때에는 참이 되고 <명령> 이 실행됨.
  • 캠이랑놀자 . . . . 3 matches
         || 2 || 05.9.25 || [캠이랑놀자/050925] || DirectShow 개관. 뼈대 코드 구경. 간단한 캠영상 플레이 프로그램 만들기 || . ||
          * C++ & Python - 현재 라이브러리들 관계상 C++ 로 구현된 것들이 많은 관계로. 중간에 [1002] 가 Python Wrapper Class 만들기를 시도할 것이긴 함.~ Python 의 경우 이미지 처리에 대해서 prototyping 을 위해 중간에 이용할 예정.
  • 코드레이스/2007/RUR_PLE . . . . 3 matches
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
          * 벽 만들기 연습에서 한 코드들을 함수화 해서 중복 제거를 한다.
  • 테트리스만들기2006/예제1 . . . . 3 matches
         == [테트리스만들기2006/예제1] ==
         사각형만 내려오는 테트리스를 만든다. 계속 내려오기만 하면 되며 끝까지 쌓이면 프로그램이 종료된다.
         [테트리스만들기2006]
  • 튜터링/2011/어셈블리언어 . . . . 3 matches
         = 시스템 프로그램 및 어셈블리언어 튜터링 =
          * 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 한다.
          * c 프로그램에 어셈블리 사용
  • 파이썬->exe . . . . 3 matches
         주제 : win32com 을 이용한 파이썬 프로그램 py2exe로 실행파일 만들기
         win32com 에 있는 것들을 사용해서 프로그램을 만들고 나면..
  • 프로그래밍십계명 . . . . 3 matches
          *너의 컴퓨터는 1보다는 0을 좋아 하니라. 배열의 첨자가 그 범위를 넘지 않을지 손 댈 때마다 따져 보아라. 수식에 1을 더하거나 뺄 때에는 늘 긴장하라. 너의 프로그램은 단지 한 번 덜해서 틀리고 한 번 더해서 다운되느니라.
          *너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.
          *가장 완벽한 프로그램일수록 가장 완벽하게 숨은 벌레가 있느니라. 네가 이 세상 최고의 프로그래머라고 떠들며 자만할 때, 옆집 곳간에서는 훨씬 더 뛰어난 것을 묵묵히 만들고 있느니라. 아무렴 프로그래밍은 혼자 잘나서 할 게 아니니, 너로 인해 다른 사람들도 더불어 잘 되면 그얼마나 좋은 것이냐.
  • 프로그래밍잔치/첫째날후기 . . . . 3 matches
         ["상민"] 과 ["1002"] 는 위키에서의 대화에 대해 간단한 시연을 보여주었다. [1002/MP3공유프로그램] 에서 가상의 인물 1002, 상민, 쩡직 등이 대화를 하면서 페이지내용을 조금씩 정리하고, 점차 [음악공유프로그램], [소리바다와그누텔라] 페이지로 나누어져가는 모습을 중간중간 버벅이는 설명과 함께 시연을 했다.
          *감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때문에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 문법은 간단하지만, 손과 눈에 익지 않은 구조문들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 문제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때문인가...하는 생각이 들었다.
  • 프로그램내에서의주석 . . . . 3 matches
         자네의 경우는 주석이 자네의 생각과정이고, 그 다음은 코드를 읽는 사람의 관점인 건데, 프로그램을 이해하기 위해서 그 사람은 어떤 과정을 거칠까? 경험이 있는 사람이야 무엇을 해야 할 지 아니까 abstract 한 클래스 이름이나 메소드들 이름만 봐도 잘 이해를 하지만, 나는 다른 사람들이 실제 코드 구현부분도 읽기를 바랬거든. (소켓에서 Read 부분 관련 블럭킹 방지를 위한 스레드의 이용방법을 모르고, Swing tree 이용법 모르는 사람에겐 더더욱. 해당 부분에 대해선 Pair 중 설명을 하긴 했으니)
         이번기회에 comment, document, source code 에 대해서 제대로 생각해볼 수 있을듯 (프로그램을 어떻게 분석할 것인가 라던지 Reverse Engineering Tool들을 이용하는 방법을 궁리한다던지 등등) 그리고 후배들과의 코드에 대한 대화는 익숙한 comment 로 대화하는게 낫겠다. DesignPatterns 가 한서도 나온다고 하며 또하나의 기술장벽이 내려간다고 하더라도, 접해보지 않은 사람에겐 또하나의 외국어일것이니. 그리고 영어가 모국어가 아닌 이상. 뭐. (암튼 오늘 내일 되는대로 Documentation 마저 남기겠음. 글쓰는 도중 치열하게 Documentation을 진행하지도 않은 사람이 말만 앞섰다란 생각이 그치질 않는지라. 물론 작업중 Doc 이 아닌 작업 후 Doc 라는 점에서 점수 깎인다는 점은 인지중;) --석천
         프로그램에 있어 주석이 하는 순기능을 하나 더 찾아볼 수 있다. ''메마른 코드속에서 사람의 숨결을 느끼게 해준다.'' 유머가 없는 세상을 생각해보라. 얼마나 끔찍한가.
  • 프로젝트 . . . . 3 matches
          * [SmallTalk]다 프로젝트. Feat. [톱아보다], 매주 금요일 10시 모임. [SmalltalkBestPracticePatterns]를 공부하면서 [SBPPSummary]페이지의 완성과, 자판기프로그램 제작이 목표.
          * 웹커뮤니티 만들기 프로젝트(외부)
          * [ProjectEazy] - AI를 이용한 3살짜리 여자아이 '이지(Eazy)' 만들기
  • 허아영/Cpp연습 . . . . 3 matches
         어떻게 코딩했었더라? 얼마만큼? 나의 실력은 얼마나 늘었지? 를 잘 알 수 없기에, 잘 알 수 있는 "연습코드의 집합"을 또 하나 만들기로 했습니다.
         숫자를 입력받아 그 숫자를 제곱하는 프로그램.
         999입력시, 제곱 출력과 함께 프로그램이 끝남.
  • 02_C++세미나 . . . . 2 matches
         // 1에서 100까지 합을 구하는 프로그램
         // 1에서 100까지 합을 구하는 프로그램
  • 05학번만의C++Study/숙제제출/2 . . . . 2 matches
          * 평상시에는 문자열의 주소를 하나의 전달인자로 취하여, 그 문자열을 한 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 문자열을 반복해서 출력한다. (문자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명한 몇 가지 프로그래밍 기술을 사용할 것을 요구한다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단한 프로그램을 작성하라
          - 근데, 문자랑 숫자를 입력받은 후 출력받은담에 프로그램이 끝나게 만들어야 해? -아영
  • 05학번만의C++Study/숙제제출1/윤정훈 . . . . 2 matches
          cout << "섭씨온도를 화씨온도로 바꿔주는 프로그램 입니다. \n섭씨온도를 입력해주세요" << endl;
          * 섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. --[최경현]
  • 0PlayerProject . . . . 2 matches
         [http://zeropage.org/~mulli2/SSHWinClient-3.1.0-build235.exe ssh win client] 제로 페이지 리눅스 계정 접속 프로그램
          (VirtualDub 이라는 프로그램을 써서 만들었습니다.)
  • 2005MFC스터디 . . . . 2 matches
         기초부터 시작을 하여서 간단한 프로그램 만들기
  • 2005MFC이동현님의명강의 . . . . 2 matches
          * 언인스톨은 동일 버전의 Setup파일을 재실행 시키시거나, 제어판에 프로그램 추가/삭제에서 하실 수 있습니다.
          마우스왼쪽버튼-원, 마우스오른쪽버튼-사각형, 게임다시할려면? - 프로그램 껐다켜
  • 2010PHP . . . . 2 matches
          * 방명록을 만들기로 결정
          * [2010php/방명록만들기]
  • 2011년독서모임 . . . . 2 matches
          * 영화 중에 제작자의 의도가 이해하기 어렵다고 느낀 영화는 장쯔이, 금성무, 유덕화 주연의 영화 '''연인'''이었습니다. 아름다운 엔딩 장면을 만들기 위해서 였겠지만, 장쯔이는 자신의 가슴에 박힌 칼을 빼서 금성무를 구하려고 하여 죽게 됩니다. 그러나 칼 맞아서 죽은줄 알았던 장쯔이가 봄,여름,가을,겨울까지 금성무와 유덕화가 싸우고 급 일어난 부분과, 유덕화가 사실은 금성무에게 칼을 던지지 않고 던지는 '척'만 하여 결국 장쯔이의 희생이 개죽음이 되어버린 부분은 다소 아쉬웠습니다. (너무 결과만 보는 걸까요...) 극적인 반전을 위해 스토리적 공감을 포기한 부분이었다고 생각되었습니다.
          * 배철수, 배순탁 공저의 Legend라는 책을 읽었습니다. 세계 팝 역사에 있어서 희대의 명반이라 불리우는 앨범 100장에 대한 소개와, 배철수의 '음악캠프'를 빛내 주었던 저명한 아티스트들과의 인터뷰, 그리고 최장수 라디오 프로그램과 최장수 DJ를 보유한 음악캠프의 지금까지의 계보 등을 볼 수 있었습니다. 그간 아는 음악만 골라 듣고 막연히 유명 아티스트들의 이름만 알고 그들의 음악도, 인생도 제대로 알지 못했던, 하지만 음악을 좋아하는 저로서 꽤나 몰입하면서 읽을 수 있었던 도서였습니다.
  • 2ndPCinCAUCSE/ProblemA . . . . 2 matches
         A 번 문제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
         같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
  • 2학기자바스터디 . . . . 2 matches
         그리고 배운걸 바탕으로 간단한 프로그램을 완성하고요
         추석끝나고 본격적으로 시작하죠... 교재는 따로 정하지말고 도서관에서 읽기 쉬운걸로 골라서 보면 될것 같구요... 프로젝트까지는 아니어도 간단한 프로그램짜는걸로 해요(toy problem이나 5인용스터디에서 했던것처럼) -세환
  • 2학기파이선스터디/채팅창 . . . . 2 matches
         채팅 화면이 나오는 창을 만드는 소스 - 각 팀마다 만들기
  • 3DGraphicsFoundation . . . . 2 matches
          * 인수의 프로그램 [http://165.194.17.15/~nuburizzang/Fracta.exe] : 소스 조올라 더렵다 --; 튜토리얼에서 제공하는 무지막지하게 긴 템플릿을 써서 상당히 길기도 하다. 걍 실행파일만..--; 근데 꼭 심시티 같다--;
          * 상협의 프로그램 [http://165.194.17.15/~namsang/FractalSurface.exe] : 오예 링크 걸렸당~
  • 5인용C++스터디/멀티미디어 . . . . 2 matches
          * 프로그램에서 사운드 재생은 어떻게 하는가?
          * 프로그램에서 동영상 재생은 어떻게 하는가?
  • 8queen/손동일 . . . . 2 matches
         //오른쪽 대각선 수 0 으로 만들기
         //왼쪽 대각선 수 0 으로 만들기
  • AM . . . . 2 matches
         == AM스터디에서 제작한 프로그램 ==
          * [5인용C++스터디]처럼 그날그날 배운걸로 간단한 프로그램 숙제해요... 요즘들어 그냥 책만 보는것 같아서... 저만 그런가요?? --세환
  • AM/20040705두번째모임 . . . . 2 matches
          * 진도방식 책위주 아닌 목표 프로그램의 구현을 목표로 진행하는 것은 어떨까? 일종의 milestone (중간 기점)
          윈도우만들기
  • APlusProject . . . . 2 matches
         Upload:Chasedocument.zip -- 재동오빠가 추적하라는거 할려고 했는데 아무래도 이거는 프로그램 아는 사람이 해야할듯한데요
         Upload:OTF.zip - OTF 프로그램. 우리가 개발해야할 바로 그 액셀 파일. (SE 교수님의 저작권 보호로 당연히 암호가 걸려 있습니다.)
  • AcceleratedC++/Chapter12 . . . . 2 matches
         그렇다고해서 data가 가리키는 포인터를 바로 넘기면 프로그램에서 그 포인터를 통해서 데이터의 수정을 할 수 잇기 때문에 캡슐화의 장점이 사라진다.
         || copy(char* ) || 인자로 받은 char*의 공간에 내부의 문제들을 복사해 넣는다. char*공간은 프로그램가 할당하고 해제하는 공간이다. ||
  • AcceleratedC++/Chapter6 . . . . 2 matches
          과연 어느 정도로 결과에 영향을 주는지 실제로 프로그램을 작성하여 확인해본다.
          따라서 상기와 같은 함수를 이용한 뒤에는 이전에 할당된 반복자가 유효하다고 보고 프로그램의 로직을 만들어서는 안된다.
  • AppletVSApplication/영동 . . . . 2 matches
          * 스스로 실행될 수 있는 자바 프로그램.
          * 웹 브라우저에서 실행되는 작은 프로그램을 애플릿이라 한다. 웹에서 클라이언트 측의 프로그래밍을 지원하는 강력한 툴로 사용된다.
  • BasicJAVA2005/실습1 . . . . 2 matches
          * 숫자 야구 만들기
          - 3개의 숫자를 입력받아 자리와 숫자가 맞으면 스트라이크, 자리는 틀리지만 숫자가 맞으면 볼을 출력하고 3개의 숫자가 맞으면(3스트라이크) 종료하는 프로그램
  • BasicJava2005/5주차 . . . . 2 matches
         연습 > 2차방정식의 해를 구하는 프로그램을 작성해 보자.
         연습 > 100이상의 정수가 입력되었을 때 예외를 발생시키는 프로그램을 작성해 보자.
  • BeingALinuxer . . . . 2 matches
          뿌띠에서 logout명령어를 치면 왜 프로그램이 종료되어버리는지?(다시 login name을 입력하도록 나오는것이 정상 아닐까?)
          - 프로그램 자체가 그렇게 제작되었기때문이 아닐까. -_-a - 인택
  • Boost . . . . 2 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          정헌이 이거가지고 프로그램 짰잖아. --["neocoin"]
  • BoostLibrary . . . . 2 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          정헌이 이거가지고 프로그램 짰잖아. --["neocoin"]
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 2 matches
         === 학점계산프로그램/허아영 ===
         [허아영] [C++스터디_2005여름] [C++스터디_2005여름/학점계산프로그램]
  • CodeCoverage . . . . 2 matches
         CodeCoverage 는 Software Testing 에서 사용하는 측정 도구중의 하나이다. 프로그램이 테스트된 소스 코드의 정도를 기술한다. 이는 다른 대다수의 다른 테스트 메소드와 다른다. 왜냐하면 CodeCoverage 는 소프트웨어 기능, Object interface 과 같은 다른 측정 방법에 비하여 source code를 직접 보기 ㅤㄸㅒㅤ문이다.
          * PathCoverage - 주어진 코드 부분의 가능한 모든 경로가 실행되고, 테스트 되는가? (Note 루프안에 가지(분기점)를 포함하는 프로그램에 대하여 코드에 대하여 가능한 모든 경로를 세는것은 거의 불가능하다. See Also HaltingProblem[http://www.wikipedia.org/wiki/Halting_Problem 링크] )
  • CollectiveOwnership . . . . 2 matches
         일단 리팩토링을 필요로 하는 부분을 한정하고, 그 주위에 테스트 프로그램을 조금씩 붙여 나가야 한다. 그리고 리팩토링을 한다. 간혹 컴파일러를 테스트 프로그램으로 여기는 약간은 위험한 방법도 있다. see also Wiki:RefactoringLegacyCode
  • ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 2 matches
         [http://www.web-caching.com/proxy-caches.html 현존하는 여러가지 프락시 서버 프로그램]
         인터넷 상에서 유일한 16바이트의 숫자를 나타내면 COM객체의 유일한 식별자를 만들기 위해서 이용하지만...
  • Cpp에서의멤버함수구현메커니즘 . . . . 2 matches
         자신이 컴파일러가 되었다고 가정해 봅시다. 우리가 class를 선언하고 컴파일하려면 프로그램의 영역에 class 의 Data 들을 저장할 수 있는 "class 틀"의 정보를 담아 놓을 곳이 필요합니다.
         new 키워드로 할당시에는 runtime 에 class 의 instance 를 찍어 낼수 있어야 합니다. 이를 위해 프로그램 안에는 위의 id가 int 라는 정보를 담는 class의 "class 틀" 정보를 담는 곳이 필요합니다.
  • CrackingProgram . . . . 2 matches
         == 간단한 프로그램 ==
         == 간단한 암호입력 프로그램 ==
  • DatabaseManagementSystem . . . . 2 matches
         DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청한 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때문에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
  • DevPartner . . . . 2 matches
         c) Debug 메뉴에서 "디버깅하지 않고 시작"을 선택하여 프로그램을 실행합니다.
         d) 프로그램을 종료합니다. -> 세션 윈도우가 뜨면서 함수 호출 상황을 보고서로 만들어 줍니다.
  • DispatchedInterpretation . . . . 2 matches
         인코딩은 프로그래밍에 있어서 필수적이다. 데이터가 계산으로부터 분리되어 있던 과거에는, 인코딩 작업은 매우 중요했다. 삑사리 한번 내면 돈 겁나 많이 들었다. 하지만 객체지향 시대에는 좀 다르다. 인코딩은 두번째로 밀려나고 객체들 사이의 책임을 분배하는 것이 가장 중요하게 된 것이다. 잘짜여진 OO 프로그램에는, 어떠한 정보에 관심을 가지는 객체가 하나밖에 없어야 한다. 그 객체는 자신의 정보에 직접 접근하고, 은밀하게 인코딩과 디코딩을 수행한다.
         그.러.나. 객체의 정보가 다른 객체에 영향을 미쳐야만 할때가 있다. 간단할때는, 그냥 인코딩된 오브젝트에 메세지를 보내면 수월하게 해결이 가능하다. 하지만 복잡한 경우에는 힘들다. 문제는 수백의 클라이언트들에게 모든 타입의 정보에 대해 명시적으로 case 형태의 구조를 만들기를 원하지 않는다는 것이다.(??)
  • DoItAgainToLearn . . . . 2 matches
         왜 동일한 문제를 여러번 풀고, 왜 같은 내용의 세미나에 또다시 참석을 하고, 같은 프로그램을 거듭 작성할까요?
         저는 ACM의 ICPC 문제 중에 어떤 놈을 이제까지 열 번도 넘게 풀었습니다. 대부분 PairProgramming이나 세미나에서 프로그래밍 시연을 했던 것인데, 제 세미나에 여러번 참석한 친구가 물었습니다. "신기해요. 창준씨는 그 문제를 풀 때마다 다른 프로그램을 짜는 것 같아요. 혹시 준비를 안해와서 그냥 내키는 대로 하는 건 아니죠? :)" 저는 카오스 시스템과 비슷하게 초기치 민감도가 프로그래밍에도 작용하는 것 같다는 대답을 해줬습니다. 저 스스로 다른 해법을 시도하고 싶은 마음이 있으면 그렇게 출발이 조금 다르고, 또 거기서 나오는 진행 방향도 다르게 됩니다. 그런데 중요한 것은 이렇게 같은 문제를 매번 다르게 푸는 데에서 배우는 것이 엄청나게 많다는 점입니다. 저는 매번, 전보다 개선할 것을 찾아 내게 되고, 또 새로운 것을 배웁니다. 마치 마르지 않는 샘물처럼 계속 생각할 거리를 준다는 점이 참 놀랍습니다. --JuNe
  • EcologicalBinPacking/강희경 . . . . 2 matches
          cout << "잘못된 입력으로 프로그램을 종료합니다.\n";
          cout << "잘못된 입력으로 프로그램을 종료합니다.\n";
  • EightQueenProblemDiscussion . . . . 2 matches
         만약 당신보다 더 짧은 시간에, 더 짧은 코드로 문제를 해결한 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 문제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 문제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
         이런 암호같은 프로그램도 있다는..
  • EmbeddedSystem . . . . 2 matches
          * 임베디드 시스템은 더 큰 시스템의 구성요소를 이루거나 사람의 개입 없이 동작하도록 기대되는 하드웨어와 소프트웨어이다. 전형적인 임베디드 시스템은 전원이 켜져 동작하기 시작하면 전원이 꺼질 때까지 멈추지 않는 특수한 용도로 사용하는 일부 응용 프로그램을 시동하는 롬에 들어 있는 소프트웨어를 포함하는 단일 보드 마이크로컴퓨터이다. 임베디드 시스템은 운영체제를 포함하거나 단일 프로그램으로 작성할 수 있을 만큼 단순할 수 있다. 시스템에 필요 없을 경우 키보드, 모니터, 직렬 통신, 대용량 기억 장치와 같은 일반적인 주변 장치나 사용자 인터페이스 소프트웨어를 지원하지 않는다.그리고 실시간성을 요구할 때도 있다.
  • EmbeddedSystemClass . . . . 2 matches
         임베디드 환경에서의 GUI 툴킷(Qt-embedded)를 이용한 프로그램. 디바이스 드라이버 프로그래밍을 실습한다.
         // 리눅스 시리얼 터미널 프로그램 설치
  • FifteenSecondsRule . . . . 2 matches
         어떤 시스템/프로그램이 있을 때, 모든 개념적 단위(예컨대 패키지, 모듈, 클래스, 메쏘드 등)를 개발자 자신이 15초 이내에 설명할 수 있어야 한다는 "15초 룰"의 확장판이 꽤 유용할 때가 많습니다. 이런 식으로 설명을 모두 마쳤을 때는 소스 코드 전부를 설명한 셈이어야 합니다.
         예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질문에 15초 이내에 깔끔하지만 '''완전한'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질문에 역시 15초 이내에 완전한 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질문에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
  • FileInputOutput . . . . 2 matches
         저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
         저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
  • FindShortestPath . . . . 2 matches
         이문제를 통해 프로그램의 기술적인 문제는 습득하기 힘들거라고 생각되지만..
         자신의 생각을 프로그램으로 어떻게 구현해야 되는가.. 에 대한 훈련으로는 큰 도움이 될것이라고 생각됨..
  • GUIProgramming . . . . 2 matches
         자바로 작성된 프로그램에서 기본적으로 이용하는 API이다. 플랫폼에 독립적으로 제작된 툴킷이지만 내부 구현 상 플랫폼에서 제공하는 함수를 아주 낮은 수준의 추상화된 형태로만 제공하기 때문에 자바의 Platform-independable의 특성을 충분히 만족할 만한 수준은 못된다.
         최근 버전의 자바에서 이용하기 시작한 선사의 툴킷이다. 특징으로는 AWT보다 더욱 보기 좋은 그래픽을 제공한다. 또한 AWT와 달리 플랫폼에 비종속적이기 때문에 모든 플랫폼에서 동일한 모양을 보여준다. 그리고 클래스 라이브러리에 약간의 수정을 가함으로써 Windows 에서 기타 플랫폼 (예를 들자면 Mac)의 {{{~cpp Look&Feel}}}사용하는 것이 가능하다. 물론 -_-; 원칙적으로 특정 운영체제의 룩&필은 변경해서 응용프로그램을 개발하는 것은 정책상 불법의 범주에 속한다..
  • Gof/Facade . . . . 2 matches
         Compiler 서브시스템은 BytecodeStream 클래스를 정의한다. 이 클래스는 Bytecode 객체의 스트림부를 구현한다. Bytecode 객체는 머신코드를 구체화하는 bytecode를 캡슐화한다. 서브시스템은 또한 Token 클래스를 정의하는데, Token 객체는 프로그램 언어내의 token들을 캡슐화한다.
         Parser는 점진적으로 parse tree를 만들기 위해 ProgramNodeBuilder 를 호출한다. 이 클래스들은 Builder pattern에 따라 상호작용한다.
  • Gof/FactoryMethod . . . . 2 matches
          * Product객체를 만들기위한 factory method를 호출한다.
         factory method의 잠재적인 단점이라고 한다면 클라이언트가 아마도 단지 특별한 ConcreteProduct객체를 만들기위해서 Creator클래스의 sub클래스를 가지고 있어야 한다는 것일꺼다. 클라이언트가 어떤 식으로든 Creator의 sub클래스를 만들때의, sub클래스를 만드는 것자체는 좋다. 하지만 클라이언트는 이런것에 신경쓸 필요없이 로직 구현에 신경을 써야 한다.
  • Gof/Singleton . . . . 2 matches
          * (b) 모든 singleton들이 static initialization time 대 인스턴스되기 위한 충분한 정보를 가지고 있지 않을수도 있다. singleton은 프로그램이 실행될 때 그러한 정보를 얻을 수 있다.
         이러한 link-approach 방법은 link-time때 singleton class 의 선택을 고정시켜버리므로, run-time시의 singleton class의 선택을 힘들게 한다. subclass를 선택하기 위한 조건문들 (switch-case 등등)은 프로그램을 더 유연하게 할 수 있지만, 그것 또한 이용가능한 singleton class들을 묶어버리게 된다. 이 두가지의 방법 다 그다지 유연한 방법은 아니다.
  • HardcoreCppStudy/두번째숙제 . . . . 2 matches
          * 1학기 때 숙제로 만든 성적관리 프로그램을 객체지향으로 만들어봅시다. 스펙은 다음과 같습니다.
          * 프로그램을 파일 하나에 다 때려넣지 말고, 헤더파일(클래스 선언), 클래스 구현부, main함수의 파일 3개로 나눠서 작성하세요.
  • HelpOnFormatting . . . . 2 matches
         위키위키는 좀 더 직관적이면서 이해하기 쉬운 단순한 세트의 문법 규칙을 가지고 있습니다. HTML 문서를 만들기 위해서 HTML문법을 알아야 하는 것 처럼 위키위키 페이지를 만들거나 고치기 위해서 위키위키 문법을 알아야 합니다. HTML문법은 직관적이지 않고 복잡한 측면이 있습니다. 그러나 대다수의 HTML문서는 매우 간단한 문법을 알기만 하면 만들 수 있습니다. 위키위키는 이러한 문법을 좀 더 단순화 시키고 직관적이고 이해하기 쉬운 단순한 규칙으로 구성되도록 고안되었으며 조금만 시간을 투자한다면 위키위키의 문법을 쉽게 이해하고 배우실 수 있습니다.
         위키위키 문법을 무시하게 하기 위해서 중괄호 세개를 {{{ {{{이렇게}}} }}} 사용하게 되면 글꼴이 고정폭 글꼴로 보여지게 되며 ({{{monospace font}}}) 만약에 이 문법을 여러 줄에 걸쳐 사용하게 되면, 중괄호 블럭의 모든 공백이 보호되어 프로그램 코드를 직접 삽입하여 보여 줄 수 있습니다.
  • HelpOnTables . . . . 2 matches
         테이블을 만들기 위해서는 테이블임을 나태내는 "`||`"를 사용합니다. `||`로 시작해서 `||`로 끝나면 테이블이 되며, 여러개의 셀을 만들기 위해서 여러번 반복하여 `||`를 사용하여 각 셀을 나누면 됩니다. 여러개의 컬럼에 걸쳐서 셀을 만들려면 `||`를 두번이상 반복해서 `||||` 식으로 만들어줍니다.
  • HowToCodingWell . . . . 2 matches
          * 보통 코딩을 학교 프로젝트 아니면 과제때만 많이 하게 되는 데, 그 보다는 평소에 즐기듯(?) 코딩해야 합니다. 급하게 쫓기면서 하는 코딩은 결과물을 만들어 내기 위한 코딩이므로 생각하지 않고 코딩하게 됩니다. 평소에 자신이 필요한 프로그램(ex 선대계산기, 알송 리스트 자동 갱신 프로그램) 들을 느긋하게 코딩해 보면 급하게 코딩 하지 않기 때문에 더욱 많은 생각을 하면서 코딩을 할수 있습니다. 진정으로 실력이 느는건 이런 생각하면서 코딩하면서 늘지 않을까요? - [안혁준]
  • IDL . . . . 2 matches
         [CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • JTDStudy/첫번째과제/상욱 . . . . 2 matches
          * TDD로 만들려고 하니 적응도 안되고 해서 시간이 꽤나 많이 걸리네요^^; 프로그램을 위한 테스트라기 보단 테스트를 위한 프로그램이 되어지는 느낌이 팍팍;;; 하지만 장점이 많은 방법이라 앞으로 더 연습을 해 봐야겠네요~ - [상욱]
  • JavaStudy2003/첫번째과제 . . . . 2 matches
          * 자바로 "Hello, World!" 를 출력하는 프로그램을 작성하세요.
          * 위 세개는 알아보기만 해도 되겠지만 마지막 프로그래밍은 힘들꺼라고 예상합니다^^; 자바라는 프로그램을 하기 위해선 어떤것을 설치해야 하고 그것을 또 컴파일하고 실행시키는데 있어서 애로사항이 많을꺼라고 봅니다. 스스로 찾아서 해 보세요. 과제 제출은 위키에 받겠습니다.
  • JosephYoder방한번개모임 . . . . 2 matches
         == 프로그램 ==
         프로그램은 자기소개, 리펙토링의 중요성, 기본적인 리펙토링 기법, Agile과 리펙토링의 상관 관계, QnA, QnA중 Joseph이 쓰는 기법에 관한 설명 으로 이루어졌다.
  • Knapsack . . . . 2 matches
         그리고 그 때 버는 돈은 얼마인지 구하는 프로그램을 작성하세요. [[BR]]
         그리고 누군가가 만든 프로그램이 옳다는 것을 테스트하기 위해서는 이를 자동화하는 것이 편할 것이고, 이것을 위해서는 인풋과 아웃풋을 좀 단순화하는 것이 좋지 않을까 합니다. ICPC의 문제들을 구경해 보세요.
  • LUA_1 . . . . 2 matches
         루아의 공식 사이트는 http://www.lua.org/ 입니다. 하지막 MS-Windows 환경에서 루아를 시작하고 싶으시다면 http://code.google.com/p/luaforwindows/ 에서 루아 프로그램을 다운 받으실 수 있습니다. 우선 MS-Windows 환경이라고 가정하고 앞서 말한 사이트의 Download 페이지에서 LuaForWindows_v5.1.4-45.exe 를 다운 받습니다. 나중에는 버전명이 바뀐 바이너리 파일이겠죠. 이 파일을 다운로드 받아서 설치하면 시작>Programs>Lua>Lua (Command Line) 를 찾아 보실 수 있습니다. 해당 프로그램을 실행하면 Command 화면에 ">" 와 같은 입력 프롬프트를 확인하실 수 있습니다. 그럼 간단히 Hello world를 출력해 볼까요?
  • LUA_6 . . . . 2 matches
         __metatable : metatable을 보호하기 위한 metatable 프로그램이 metatable을 수정하지 못하도록 하기 위해 재 정의 해주면 된다.
         class를 만들기 위한 페이지 http://lua-users.org/wiki/YetAnotherClassImplementation 추가로 링크 넣었습니다.
  • MagicSquare/영록 . . . . 2 matches
         //마방진 만들기.
          cout << "마방진 프로그램을 시작하겠습니다.\n";
  • MobileJavaStudy/Tip . . . . 2 matches
         == 일반적인 프로그램 템플릿 ==
         이 두개를 안하면 핸드폰이 뻗는 수가 있다고 함. 뻗게 하는 프로그램이라면 머 전혀 안해도 무방하겠군..;; --["창섭"]
  • MockObjects . . . . 2 matches
         사용 예1) 여러 사람이 프로그래밍 할때, 독립된 프로그램이 아닌 모듈별로 프로그램을 만들고 있는 경우. 이럴때 해당 모듈을 작성하고 테스트 코드를 만들려고 해도, 다른 모듈의 의존성 때문에 진행이 어렵게 된다. 아직 완성되지 않은 의존성을 가진 모듈을 MockObject로 만듬으로서 해당 모듈을 만드는 동안의 의존성문제를 해결할 수 있다.
  • NSISIde . . . . 2 matches
          * 프로그램 실행중 다른 Process 띄우고 결과 스트링 얻어오기 (Console Util)
          * 아이디어 떠오른 것중 하나 - 마우스 매크로 프로그램과 연동해서 쓰는건 어떨까. -_-a 아니면 Message 를 보내는 식으로 하는 방법, DLL을 삽입하는 방법.. 이건 좀 더 구체적으로 생각을 해봐야 할 것 같다.
  • NUnit/C++예제 . . . . 2 matches
         이 경우 Unmanaged C++ 코드에 대해서 적용할수 없다. 즉, MFC로 완성된 프로그램이라도, .Net Platform 이 없는 곳에서는 작동할 수 없다. (로직에 __gc 가 존재하므로)
         그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성한 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의문이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 한걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
  • NumericalAnalysisClass . . . . 2 matches
         하지만 이 책은 다르다. 어떤 문제를 접했을 때 어떻게 프로그램을 새로 만들어 내야하는지, 디자인은 어떻게 해야하고, 훌륭한 프로그램을 어떻게 만드는지를 말하고 있다. 게다가 OOP를 "정말" -- 시늉으로써만이 아니고 -- 사용한다. 모든 코드가 Java와 Smalltalk 양자로 쓰여있는 점도 큰 장점이다.
  • OpenGL_Beginner . . . . 2 matches
          * 목표 : OpenGL 예제를 통해 기초를 익히고, 프로그램 만들 것을 찾는다.
          * 2.24 : 마소 ASE구현 프로그램 프레임웍 분석
  • OpenGL스터디 . . . . 2 matches
          * 실시간 3D는 말그대로 사용자가 화면 구성에 필요한 데이터를 입력 즉시 화면에 반영하는 방식을 이야기한다. 예를 들어 비행기 시뮬레이션 프로그램이라던가, 게임을 예시로 들 수 있다.
         ''더 자세한 용어 설명 : 어떤 목적에 맞추어 프로그램을 작성하는 것(목적을 만족시키는 것)을 ‘임플리먼트한다’고 한다. - from <네이버 지식백과>''
  • OurMajorLangIsCAndCPlusPlus/2005.12.22 . . . . 2 matches
         - 프로그램, 컴퓨터, 프로세스, 운영체제
         - 프로그램 카운터
  • PHPStudy2005 . . . . 2 matches
          * 일방적인 정보 전달 스터디가 아닌, 하는 방법(메뉴얼 찾아서 하기, 틀정 사이트 Q & A 찾아서 하기, 있던 PHP소스 재활용하기, 모를땐 메신저로 선배한테 물어보기-_- 등..) 을 알려주고, 그에 따라 간단한 PHP 프로그램을 작성해본다.
          * [http://ezphp.net/lecture/ 다우니 PHP 초보 강좌] - 정현아 왼쪽꺼 강좌 3 문법 배우기, 4 카운터 만들기만 익히면 된다. 그리고 바로 투입~! ㅋ -[상협]
  • PairSynchronization . . . . 2 matches
         ["sun"]은 기존 프로그램의 업그레이드 작업에 새로 한명의 파트너와 함께 둘이 작업하게 되었다. XP를 개발에 적용해보기로 하고, 프로그램 디자인에 CrcCard 섹션을 이용하고자 했다. 처음 CrcCard 섹션을 진행해서 그런지, 별다른 진척이 보이지 않아 우선 화이트보드를 이용해서 개념을 정리해보고자 다른 색의 마커를 들고 한 번에 하나씩 개념을 그리고 선을 이어 나가며 디자인을 했다.
  • Perforce . . . . 2 matches
         프로그램은 서버, 클라이언트 환경으로 관리되며, 서버는 소스의 모아서 관리한다. 서버 프로그램은 유닉스, 맥, MSWin 버전으로 제공된다. 클라이언트는 GUI, CMD 버전의 툴을 지원하며 다양한 OS 에서 이용가능하다. 또한 IDE 와 연동역시 지원한다. (IDE에는 3dmax, maya, photoshop, office 등을 포괄하는 방대한 시스템)
  • Polynomial . . . . 2 matches
          다항식의 곱셈을 이용하는 프로그램을 작성한다.
          다음과 같은 자료의 합, 차, 곱을 리턴하는 프로그램을 작성하시오
  • Postech/QualityEntranceExam06 . . . . 2 matches
          3. Machine Language Like 한 프로그램 만들기. 코드 주고. 스앞 함수 호출하는 부분 있고 파라미터 패싱을 설명해야함.
  • PowerOfCryptography . . . . 2 matches
         정수 http://acm.uva.es/p/v1/113img1.gif 과 http://acm.uva.es/p/v1/113img2.gif 이 주어졌을때, 당신은 http://acm.uva.es/p/v1/113img3.gif 를 구하는 프로그램을 작성해야 합니다. 이 프로그램에서 주어진 n과 p에 대하여, p는 항상 http://acm.uva.es/p/v1/113img5.gif 형태를 갖습니다. (여기서 k는 당신이 찾아야 될 정수입니다.)
  • PracticalPython . . . . 2 matches
         Python을 이용해 쓸모있는 프로그램을 만드는 과정을 보여주는 책이다. 따라가기 좋을 뿐 아니라, 만들어 놓은 프로그램을 발전시킬 수 있도록 유도한다.
  • PrimaryArithmetic/sun . . . . 2 matches
         == 응용프로그램으로 ==
         문제 풀이를 위해서 별다른 알고리즘이 아닌 현실에서의 덧셈 방법을 사용했고, 코드량이 별로 되지 않음에도 1시간이 걸린것은 도중에 msn으로 친구과 채팅을 하며 했기 때문이다. 본인이 느끼기에는 msn을 얼마 하지 않았던것 같은데 실제로는 시간이 꽤 지나있는걸 보면 아인슈타인의 상대성원리에 따라 시간이 흐름을 알 수 있다. 직장인의 경우 이것을 좀 더 일반화 해보면, '왠지 오늘 하루 일하기 싫다'라고 느껴지고, 휴가를 쓸 수 없을땐 근무중에 메신저를 하면 시간이 금방 감을 알 수 있겠다.
  • ProgrammingContest . . . . 2 matches
         나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
         또, Easy Input Set은 직접 수작업으로 풀고 그걸 일종의 테스트 데이타로 이용해서, Difficult Input Set을 풀 프로그램을 TDD로 작성해 나가면 역시 유리할 것입니다. 이렇게 하면 Time Penalty는 거의 받을 일이 없겠죠.
  • ProgrammingLanguageClass . . . . 2 matches
         무심결에 쓰고 있는 프로그램 언어의 내부를 배울 수 있는 시간입니다. 개인적으로는 이런 저런 원리를 하나식 알아갈 때마다 재미있었기 때문에 수업시간도 재미있었습니다. (정말 같이 듣는 이들은 졸린 모양이더라고요.) 과제에서 엄청난 실수를 많이 저질러서 안타깝지만, 과제 자체는 강의 내용과 매우 적절하게 연결된 것이라고 생각합니다.
         아쉬운 부분은 프로그램 언어론이란 과목임에도 불구하고, 설명의 비중은 많이 쓰이는 언어일수록 높았던 점입니다. 함수형언어(FunctionalLanguage)는 기말 고사 바로 전 시간에 한 시간만에 끝내려다가, 그나마 끝내지도 못하고 요약 부분만 훑었습니다. 그 밖의 종류에 대해서는 거의 절차적 언어, 특히 C계열 언어를 설명하다가 부연 설명으로 나오는 경우가 많았습니다. 논리형언어(LogicLanguage)에 대한 설명은 거의 못 봤습니다. 어차피 쓰지 않을 언어라고 생각해서일까요.--[Leonardong]
  • ProgrammingPartyAfterwords . . . . 2 matches
         금요일, 토요일, 토요일 밤 약간 깊숙히 - 이번 심사와 Mentor 역할을 맡은 김창준, 채희상, 강석천은 임시 위키를 열고 문제 만들기 작업 관련, Moderator 로서의 역할을 정했다.
         시간이 좀 흘렀을 때, 희록님의 생각은 '우리 모두 이 프로그램을 짜는데서 왜 알고리즘이 사용되어야 하는지 모르고 있다. 이는 문제를 제대로 파악하지 못했다는 것을 의미한다' 라는 생각을 하였다. 그 때, 누군가가 입력 형식에 관해서 Mentor에게 물었다. 하지만 아쉽게도 입력형식에 대해서 명확한 답을 얻을 수는 없었지만, 몇가지 새로운 사실들을 알수 있었다. 하지만 진행은 계속 지지부진하게 되었다. 희록님은 다시 그것을 깨고자 "CRC카드를 한번 사용해서 문제를 다시 한번 생각해보자"라고 하였다. 우리는 CRC카드를 작성하기 시작하였고, 우리가 CRC카드를 이용해서 시뮬레이션을 실행해보고서는 요구사항을 분석하는데는 크게 도움이 되지 않았지만, 우리가 프로그래밍시에 어떤 객체들이 필요할지와 그 속성들에 대해서는 약간 명확해졌다.
  • ProgrammingPearls/Column5 . . . . 2 matches
          * 큰 프로그램에서는 툴에서 제공하는 디버깅을 쓰지만, 이렇게 작은 알고리즘 같은 것에서는 print문 같은걸 쓰는게 편하다고 한다.
          * Debugging : 발판이랑 고립된 프로그램이나, 임베디드된 곳에서는 하기가 힘들다. Column5에서 설명한다.
  • ProjectPrometheus/CookBook . . . . 2 matches
          동시에 10개의 타이머 설정 가능. 카운트 다운, 카운트 업 가능. 멈췄다가 프로그램을 다시 시작할 때 지난 시간에서 resume 가능. 단, 메모리 누수 버그가 있다.
         ZeroPageServer 웹 프로그램을 만들어서 미리 읽어볼 소스를 주신 선우형에게 감사드리며~! 형 덕택에
  • ProjectTriunity . . . . 2 matches
         === 프로그램 소스 및 문서 (첫번째) ===
         === 프로그램 소스 및 문서 (두번째) ===
  • ProjectVirush/Idea . . . . 2 matches
          세균 키우기..... 이른바 '실시간 멀티 온라인 게임' 이다. 이걸 만들기로 결정하는 순간 우리는 커다란 문제에 직면하였다! ;;ㅁ;;
          첫째 '실시간'이다. 실시간으로 돌아가는 프로그램은 커다란 제약을 가지게 된다. 무엇보다 '슈퍼 울트라 복잡한 연산을 해서는 안된다.'는 것이다. 맵이 너무나도 큰 나머지, 또는 맵을 검색하는 알고리즘이 너무 자세한 나머지 "왼쪽 끝에서 오른쪽 끝까지 이동하도록 명령하니 1분동안 길을 찾느라 멈추었어요." 라는 소리를 들어서는 안된다. 물런 이런 과장된 일은 없겠지만, 실시간으로 진행되는 만큼 끊김없이 느껴질 수 있는 부드러운 연산이 가능해야 한다는 것이다. 더욱이 멀티플레이인 만큼 이 문제는 더욱더 중요해 진다. 플레이어 1이 복잡한 연산을 수행시켜버렸다고 해서 플레이어2까지도 버벅되서는 조금 곤란해 진다. 이러한 문제를 감안해서 어떻게든 연산을 빠르게 만들어야 한다.
  • ProjectZephyrus/Afterwords . . . . 2 matches
          * WORA 를 경험해볼 수 있었다 - 윈도우즈에서 개발/테스트 한 서버 프로그램을 별다른 수정없이 linux 서버인 ZeroPageServer 에서 돌릴 수 있었다.
          - JavaDoc의 시선 분산 여부는 개인차와 주석에 대한 의견을 ["프로그램내에서의주석"]에서 토론되었다.
  • ProjectZephyrus/일정 . . . . 2 matches
          - 이번 프로그램의 규모를 측정해 본다.
         ||6.3 (월)||영서 - 3시 || 대화창 만들기 + 소켓접속 일부 통합작업 || ○ ||
  • PythonLanguage . . . . 2 matches
          * '''프로그램의 알고리즘에 집중할 수 있다.'''
          * PythonXmlRpc - Python 으로 구현하는 RPC 서버 & 클라이언트 프로그램.
  • R'sSource . . . . 2 matches
         print """이 프로그램은 www.replays.co.kr의 스타크래프트 리플레이를
         모아주는 프로그램 입니다."""
  • RAD . . . . 2 matches
         전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종 단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
         RAD는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말한다. 이러한 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 문제를 줄이고, 설계 과정을 그대로 개발에 재사용함으로써 전체적인 개발 기간의 단축을 꾀하는 것을 목적으로 한다.
  • RUR-PLE . . . . 2 matches
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
  • RandomWalk . . . . 2 matches
          바퀴벌레는 임의의 한 점에서 시작하여서 임의의 방향으로 움직이게 된다. 이미 지나갔던 자리에 다시 갈 수 있으며 프로그램은 바퀴벌레가 각 위치에 몇번 갔는지 기억하여야 한다. 프로그램은 바퀴벌레가 모든 지점에 적어도 한번 이상 도달하였을 경우 끝난다. 바퀴벌레는 가로, 세로, 대각선으로 한칸 씩만 움직일수 있으며, 바퀴벌레가 움직이는 방향을 랜덤하게 만드는 것은 각자가 생각해 보도록 한다.
  • RandomWalk/대근 . . . . 2 matches
         // 랜덤 워크 만들기...(마구 더해지는 워크...)
          cout << "랜덤 프로그램입니다..\n";
  • RegressionTesting . . . . 2 matches
         소프트웨어가 개발됨어 감에 따라, 문제의 재출현은 불행히도 아주 일반적인 경험이다. 때때로, 그것은 고친 것이(fix)가 나쁜 보정 작업(poor revision control practice)들에 (혹은 revision control에서 사람의 단순 실수) 의하여 사라지기 때문에 발생한다. 그렇지만 바로 문제에 대한 고친것이 존재하면, 소프트웨어는 '''깨지기 쉬워(fragile)''' 해진다.- 만약 어떠한 다른 변화가 프로그램에 가해지면, 고친 것(fix)은 더이상 동작하지 않는다. 결국, 문제를 잘 알지 못한 상태에서, 재디자인된 몇가지 인자들이 있을때, 기존의 구현의 인자들 속에서 재디자인된 부분에서는 동일한 실수들이 발생할 것이다.
         그래서 대다수의 소프트웨어 개발 시점 중에는 버그를 고쳤을때 훌륭한 방법인가, 버그가 재작성되거나, 버그가 프로그램상의 하부 변화 이후에 규칙적으로 실행되는지 '''드러내는 테스트'''에 대하여 훌륭한 실행 방법들을 제시한다. 몇몇 프로젝트(내 생각에 Mozilla경우, Eclipse도 같은 시스템)는 자동화된 시스템으로 자동적으로 모든 RegressionTesting들을 규칙적으로(보통 하루나 주말단위로) 실행하고, 조사하도록 세팅되어 있다.
  • ReverseAndAdd . . . . 2 matches
         어떤 수가 주어졌을 때 회문이 있으면 출력하고, 그 회문을 찾기까지 뒤집어서 더하기를 반복한 횟수를 출력하는 프로그램을 만들어야 한다.
          * 정수 N(0<N<=100) 제한을 프로그램 상에서 걸어놓으면 로봇이 틀린 답으로 판단하는군요. 왜 그럴까요? -- 보창
  • Ruby/2011년스터디/세미나 . . . . 2 matches
          * rescue로 만들기
          * 상속을 통한 테스트 케이스 만들기
  • STL . . . . 2 matches
         || ["STL/list"] ||만들기 까다로운 더블 링크드 리스트를 제공해준다.||
          DeleteMe) 인수가 가진 모든 STL 페이지 ["Refactoring"] (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 ["인수"]의 모든 STL 페이지 사라짐(피바람);;
  • STL/list . . . . 2 matches
          * 만들기 까다로운 더블 링크드 리스트를 제공해준다.
         === 프로그램의 예 ===
  • STL/vector/CookBook . . . . 2 matches
          * vector<int>... 부분을 보면 또 다른 생성자가 보인다. 인자로 숫자 하나를 받는다. 그 만큼 동적 할당 해준다는 뜻이다. delete? 그딴거 안해줘도 된다. 프로그램 끝나면서 int형 벡터 ar이 소멸되면서 알아서 없애준다.
          * vector로 간단히 해결이 가능하다. See also ["RandomWalk2/Vector로2차원동적배열만들기"]
  • STLPort . . . . 2 matches
          * '''test''' : STLport가 설치된 후 제대로 설치되었나 확인하기 위한 테스트 프로그램 소스.
          이 절의 설명과 이후의 설명을 모두 건너 뛰시고, '''stlport''' 폴더 전체를 VC++ 폴더의 /include 폴더에 복사하십시오. 그리고 "프로그램 관련 세팅" 절부터 읽으시면 됩니다. 단, 라이브러리 관련 부분은 관련이 없습니다.
  • SibichiSeminar/TrustModel . . . . 2 matches
          * 음.. 어려운 내용이었습니다. 추상적으로 이해하고 끄덕끄덕... 견문이 좁은 탓이겠지요. ㅜㅜ 뒷부분은 재밌었습니다. 지난 주에 언급했던 커뮤니케이션의 실패와 관련이 있을지도... 버전 관리 얘기도 나왔는데, 그 부분이 궁금하네요. 그렇다 할만한 팀워크를 해본 적이 없어서요. 코드를 구역 별로 나눠서 동기화하는 방법이 적절할 것 같은데. 이런 일을 돕는 프로그램이 있는거죠? -_-; - [정진경]
          * 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
  • SmallTalk/강좌FromHitel/Index . . . . 2 matches
          | 1.1. 프로그램과 프로그래밍 언어 <#1>
          | 1.3. Smalltalk 맛보기 프로그램
  • SmallTalk/강좌FromHitel/차례 . . . . 2 matches
          | 1.1. 프로그램과 프로그래밍 언어 <#1>
          | 1.3. Smalltalk 맛보기 프로그램
  • SmallTalk_Index . . . . 2 matches
          | 1.1. 프로그램과 프로그래밍 언어 <#1>
          | 1.3. Smalltalk 맛보기 프로그램
  • Spring/탐험스터디/wiki만들기 . . . . 2 matches
          * UserDetail - 스프링 시큐리티가 사용할 수 있는 User 객체 만들기
          * 바퀴 다시만들기
  • SwitchAndCaseAsBadSmell . . . . 2 matches
         사실은 이런 종적 상태로서의 프로그램이 중요한 것이 아니고, 어떻게 이런 프로그램에 도달할 수 있었는지, 그 사고와 프로그래밍의 과정이 중요합니다.
  • TAOCP . . . . 2 matches
         DeleteMe)MIXware부분에 가서 프로그램 받을 수 있어. 다 써보진 못했는데 2번째꺼 해보니깐 좋더라...
         휘동이 정리보구 궁금해하던 문제들이 많이 풀렸다. 이젠 프로그램 짜야쥐... --세환
  • TheJavaMan . . . . 2 matches
          - 참여한 사람들이 각자 한개 이상씩의 하고싶은 프로젝트에 들어서 (프로그램을 만드는데 필요한 요소들을 중심으로 각자 책으로 공부하게 된다)같은 팀끼리 일주일에 한 번정도 모이고, 그것을 토요일에 설명하는 과정으로 (따라서 일주일에 두번 정도 모이게 됩니다.) 전체 자바 프로젝트를 진행해야 하는데 참여율이 저조한것 같다. 토요일에는 각자 프로젝트에 대한 세미나(다른 사람들의 이해를 돕기 위해)를 하고, 한번 정도는 밤을 새서 몇개의 프로젝트를 완성하는 방법도 고려중이다.- 10일(토)에 모인 사람들
          - 부속 프로젝트로 로보코드 페이지를 만들기는 해야겠는데 무슨 형식으로 만들어야 하는감 - [문원명]
  • ThePragmaticProgrammer . . . . 2 matches
          프로그래머는 일련의 도구들(에디터, 객체 관리자, 버전 트래커)을 사용하여 어떤 환경하에서(하드웨어 어셈불리상의 운영시스템) 운용될 수 있는 제품(프로그램)를 만들어내도록 훈련받은 공예가에 비유할 수 있다. 다른 공예작업과 마찬가지로, 컴퓨터 프로그래밍도 대학이나 관련학원에서 가르쳐지지 않는/쉽게 터득할 수 없는 지식과 지혜를 집적하여 완성해 가는 과정을 갖는다.
          이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
  • ToastOS . . . . 2 matches
         음..우선 전에 플로피 1번 섹터에서 부트섹트를 읽어 들여 부트 로더를 만든다고 까지 얘기한 것 같다.그럼 커널로더는 무엇일까? 부트 로더가 할 수 없는 기이한 일들을 커널 로더가 한다. 우선 보호모드로들어가는 것과 커널을 실행가능한 상태로 재배치 시키는 일등을 한다. 왜 그런 일을 할까? 부트로더가512kb밖이 되지 않아 그런 일들을 할 수 없기 때문이다. 위에 사진에서 보면 퍼런 글씨로 kernel loader라고나오는데 전에 CAU Operating System 어쩌구...가 먼저 나온다..다만 VMWARE를 쓰기때문에 그런 글씨가 안나온다. 여하튼 커널 로더가 가지는 의미는 우선 부트로더를 만들기 위해 어쩔수 없이 썼던 짜증나는 어셈을 이제 안써도 된다...ㅋㅋ 사실 어셈은 계속 써야 된다... 다만 이제 어쎔을 주로 쓰지 않고 C에서 인라인 어쎔을 쓸것이다. 이제 Boland C 3.1 버전의 컴파일러로 커널로더와 커널을 제작하게 될 것이다. 그럼 위와 같은 것을 그냥 해주면 되는거 아니냐? 라고 반문하는 사람이 있을 것이다.. 그렇다. 그냥 해주면 된다. 우선 컴파일할때 -S라는 옵션을 두어서 어셈블리 소스를 만들고 나서 그리고 그렇게 만들어진소스의 extern들을 링크 시키고 그런 다음 EXE파일을 실행가능한 재배치상태로 만들고 나서 부트로더와 같이뒤집어 씌우면 된다.
         아차 나는 boland C 3.1버전을 쓰지만 gcc를 쓰는 사람은 MAKE PLAIN BINARY FILE이라는 PDF가 있을 것이다.찾아서 읽어보면 아주 평평한 바이너리파일을 만드는 법을 배울것이다. 참고로 C에서 평평한 바이너리 파일을 만들기 위해 몇가지 주의사항이 있다. 그 PDF파일에 적혀 있으니 읽어보도록...
  • UbuntuLinux . . . . 2 matches
         못 찾은 건지 몰라도 한글 입력이 기본이 아닌가보다. 키보드에 영어랑 일본어도 있는데 한글은 없다. 세종대왕이 알면 가슴을 치며 한탄하시겠군. 한글 입력 하는 방법을 찾던 중 우분투 홈페이지게 가 보았고, ''나비''라는 프로그램을 설치하면 된다는 사실 발견. 드디어 한글을 쓸 수 있게 되었다. 우리말이 정말 사랑스럽다.
         다음 목표는 이전에 사용하던 윈2000을 멀티부팅하기. 사실 리눅스만 쓰고 싶은 마음이 간절하지만 각종 윈도우 전용 프로그램을 사용하던 과거를 한 순간에 지워버리지는 못하거든.
  • Unicode . . . . 2 matches
         MultiLinugual 플랫폼을 지향하는 프로그램의 개발자라면 당연히 이해해야하는 파트임. - [eternalbleu]
         어떤 프로그램,
  • VendingMachine/재니 . . . . 2 matches
         = 프로그램 설계 =
          * 이번엔 프로그램 설계를 한글로 했지만 영어로 해보고 싶은 욕심이 생기네엽..^^[[BR]]
  • VonNeumannAirport/Leonardong . . . . 2 matches
         매우 데이터에 의존적인 프로그램이라는 생각이 든다. 만약 석천이형 생각대로 요구사항이 바뀐다면 지금 프로그램은 감당해낼 수 있을까?
  • WeightsAndMeasures . . . . 2 matches
         맥(Mack)이라는 이름의 거북이가 여틀(Yertle)왕의 거북이 왕좌(王座)을 만들기 위한 거북이를 쌓는 방법을 문의해왔다. 혹시 자기 등껍질이 깨질까 봐 겁이 났기 때문이다. 여틀 왕의 왕좌을 만들기 위해 동원된 5,607마리의 거북이는 체중과 체력이 모두 다르다. 가능한 가장 많은 거북이를 쌓는 방법을 찾아보자.
  • XpWeek/ToDo . . . . 2 matches
         피시실 관리 프로그램 만들기
  • Yggdrasil/가속된씨플플/1장 . . . . 2 matches
          * 문법적으론 틀린게 없다. {}밖을 빠져나가면, 그 안에서 만들어진 객체나 변수는 다 사라진다. 하여튼, 문자열을 출력하는 프로그램이다.
          * 이 프로그램도 문법적으로 틀린 것은 없으나 지양해야 할 문법인 듯하다. 끝나지 않은 스코프 내에서 같은 변수명을 선언하면 나중에 헷갈리기 좋을 것 같다. 그리고 }}를 };}로 바꿔도 별 차이는 없다.
  • Yggdrasil/가속된씨플플/4장 . . . . 2 matches
          * 장의 제목 그대로의 내용이다. 프로그램의 구조화(함수)와 데이터의 구조화(구조체) 등등을 설명하고 있다.
          * 1학년 1학기 텀프로젝트를 할때, 성적정렬 프로그램에서 정렬로 순서가 전부 바뀌어버려서, 루프문의 끝에서 전부 다 초기화했던 기억이 난다. 이때 전달인자에 전달 방식을 제대로 이해하고 활용했다면 편했을 것을.
  • Z&D토론/통합반대의견 . . . . 2 matches
         흘러간다. 그 무의미한 시간들은 제로페이지나 데블스를 약하게 만들기
         빨리 휠에 대한 설명이나 캡쳐해야 겠다. 앞으로 프로그램 좀 짤 일이 있어서
  • Z&D토론백업 . . . . 2 matches
         DeleteMe ) TV프로그램 이제는 말할수 있다가 생각나는군 --상민
          *제가 말씀드린 ''고학번이 주도적인 프로젝트 운영''이라는 것이 생각난건 99년에 과거 전시회 자료를 뒤져 볼때 였습니다. 전시회 참여 작품중에 무엇가 '대단한걸~' 하고 느끼는 많은 부분이 3학년과 4학년의 작품이고, 1,2학년의 작품이라면 3,4학년의 도움이 있는 작품들이 많았습니다. 위 글에도 잠깐 언급했지만, 인터넷과 함께 학생들이 접할수 있는 주제의 다양성 때문에 3,4학년 이라도 완전히 방향을 잡은 사람은 소수입니다. 하지만 분명 1,2학년에 비하여 그 질이 높아진 것은 분명하죠. 일단 고학번 혹은 고학년 주도적인 프로젝트의 의미는 단순히 고학년의 2명 이상의 프로젝트 활동이 좀더 활성화 되어야 한다는 생각에서 언급을 한것입니다. 군입대를 마치고 왔거나, 병특 이후에 복학한 회원들이 단체로 프로젝트를 추진하는것을 아직 보지 못했습니다. zp의 정모 토론에서 꾸준히 제기되어 왔던 이야기는 개인 스터디이고, 이중에 학회의 양에 부정적 영향을 끼치는건 1학년의 관리 부실과 개인 스터디이고, 2학년의 개인 스터디는 학회의 양과 질에 둘다 부정적 영향을 끼치는 것 같고, 학회의 질에 부정적 영향을 끼치는건 3,4학년의 개인 스터디이라고 생각합니다. 프로젝트의 용이성과, 개인 스터디에 해당하는 Semi project와 관심분야를 공개하는 개인 페이지로 다른 사람의 참여의 유도를 해서 Regular project로 만들어 나가려는 토양의 제공을 위해 현 zp에서는 위키를 통한 프로젝트 추진을 장려하고 있으며, 이제 저도 고학년에 고학번이니 쿨럭 열심히 해야죠. ^^;; '''주도적'''의 표현에서는 저학년이 고학년의 프로젝트 모습을 보면서 관심분야를 넓히고, 안목을 익히는데 있습니다. 물론 같이 하는것이 주도적의 마지막 종착점이고, 예를 들자면 현재 OS 만들기를 하고 게시는 선배님 위키에, 관심있는 00들이 접근하는것이라고 할수 있죠. -- 상민
  • ZPBoard/APM/Install . . . . 2 matches
          * 제어판 -> 프로그램 추가/제거 -> Windows 구성 요소 추가/제거 에서 IIS를 설치한다.
          * APM을 설치, 설정을 자동으로 해주는 프로그램도 있네요. 번거로운 설치과정이 귀찮으신 분들은 이놈도 좋을듯. [http://www.apmsetup.com/]. 하지만 직접 설치해 보지 않으면 모르는것도 있으니... 귀찮으신 분만 쓰세요ㅋ - [이승한]
  • ZP도서관/2013 . . . . 2 matches
          * 레일즈로 도서 조회 사이트 만들자! 루비 튜토리얼이 도서관리 프로그램 만들기라 그런건 아니고!! - [서지혜]
  • ZeroPageServer/set2002_815 . . . . 2 matches
          * Server 프로그램을 자기 계정에서 고정 도메인 & IP 로 돌려볼 수 있다는 것도 큰 장점.
          * [[HTML( <STRIKE> moin 1.1 에서 한글 index 먹도록 만들기 </STRIKE> )]] : 석천 수행
  • ZeroPage_200_OK . . . . 2 matches
          * 각자 자신의 Cloud9 IDE Dashboard에서 Workspace를 만들어 과제를 진행하고 URL을 공유합시다. 과제는 "메뉴 만들기"였는데 어떤 모습으로 구현해도 좋습니다!
          * Trello 만들기
  • ZeroPage성년식/회의 . . . . 2 matches
          * ZeroPage 성년을 기념하는 케이크 만들기
          * 케이크 만들기에 앞서 팀 결성하여 퀴즈를 맞추면 스페셜 재료를 가져올 수 있다
  • bitblt로 투명배경 구현하기 . . . . 2 matches
         프로그램을 컴파일해주는 컴파일러도 아니요..
         결국 마스크 비트맵을 메모리상에서 만들어서 한장 비트맵으로 투명 배경만들기하는 거 였네 ㅡ.ㅡ;
  • html5/communicationAPI . . . . 2 matches
          * 프로그램간에 비동식으로 메세지 전달 : 느슨한 결합(loosely coupled)
          * 통신 수행의 주체 : 윈도우, 백그라운드 태스크, 서버에서 동작하는 프로그램
  • iruril . . . . 2 matches
          * 취미 : 무언가 만들기 (인형, 프라모델, 그림, 종이접기, 홈페이지 - 분야 상관 없이 그냥..)
          * 무언가 만들기
  • neocoin/Log . . . . 2 matches
          * OP - Object Programming Mosaic 프로그램 숙제
          * 위의 STL을 이용해서 OpenGL상에서 뭔가 움직이는거 만들기
  • woodpage/VisualC++HotKeyTip . . . . 2 matches
          *WndTabs 라는 프로그램으로 Visual c++에 AddOn(스타처럼) 시키는 프로그램이다.
  • wxPython . . . . 2 matches
         qt, gtk 로의 접근에 어려움을 갖는다면 충분히 배워볼만한 툴킷. 정말로 쉽고, 다큐멘테이션, 예제프로그램의 제공 형태가 굉장히
         바람직한 형태로 구성되어있다. 예제프로그램은 도움말 파일의 형태로 embeded 되어서 실행되는 코드로 구성되어있다.
  • zennith/w2kDefaultProcess . . . . 2 matches
         윈2000에서 클라이언트 관리의 핵심 구성요소로서 클라이언트 응용프로그램이 처음 연
         결될 경우 또는 관리 응용프로그램이 서비스를 요청할 때 초기화된다.
  • 객체지향분석설계 . . . . 2 matches
          EX> 수강신청프로그램, 도서관 좌석예약 프로그램..
  • 겨울방학프로젝트/2005 . . . . 2 matches
         || [EditPlus] || 메모장보다 좀 더 높은 수준으로 만들기 || 수생 현태 ||
         || OS || OS만들기, 알기 || 윤창 영창 상규 ||
  • 결과물 올리는 방법 . . . . 2 matches
         프로그램의 주제를 첫번 째, 그리고 슬러쉬 하고 자신의 이름을 적는다. 이렇게
         [프로그램의주제/이름]
  • 고한종/업적/WinAPI로만든학과주점포스기 . . . . 2 matches
         좀더 자세히 말하자면, 아이패드에서 메인 프로그램을 돌리고, 아이폰&안드로이드에서 부속 프로그램이 돌아서 주문을 받게 하려 했음.
  • 그래픽스세미나/2주차 . . . . 2 matches
          * 창의 프로그램
         [1002] 는 창의 프로그램 만들어낼때까지; --[1002]
  • 그래픽스세미나/3주차 . . . . 2 matches
          * 벡터 클래스 만들기
          * 창의 프로그램(nehe OpenGL tutorial 10번정도면 괜찮을듯 하군요..^^)
  • 기본데이터베이스 . . . . 2 matches
          문제 : 번호, 이름, 전화번호, 주소로 구성된 기본 데이터 베이스를 설계하고, 그 데이터 베이스에 특정자료를 추가, 삭제, 갱신, 출력하는 프로그램을 작성하여라.
          - 그외는 자신이 알아서 완벽하게 만들기 바람.
  • 김수경 . . . . 2 matches
          * OMS - 더 나은 프로젝트 만들기
          * [데블스캠프2011/셋째날/String만들기]
  • 날다람쥐 6월9일 . . . . 2 matches
         = 포인터를 이용한 간단한 프로그램 =
         포인터를 이용한 간단한 프로그램 :
  • 데블스캠프2003/넷째날/Linux실습 . . . . 2 matches
         == 접속 프로그램 ==
          * mkdir (디렉토리 만들기)
  • 데블스캠프2003/넷째날/후기 . . . . 2 matches
          * OOP 는 알아듣기랑 변수를 선언하는게 힘들거 같지만,,, 그래도 잘 알게되면 쓸만한 것 같다.. OOP를 이용해서 프로그램을 짤 수 있었으면 좋겠다... 근데 이걸 언제 배울까... ㅡㅜ;; -- [손동일]
          * 오늘 알게 된 OOP의 특징 중 각 클래스를 묶는 캡슐이라는 개념....이것을 보니 프로그램 짰을때, 더 쉽게 고칠 수 있을 것 같네요.. --[문원명]
  • 데블스캠프2003/다섯째날/후기 . . . . 2 matches
          * 마지막날 시작전; 이제 마지막날 프로그램이 시행 될거다; 오늘도 많은것을 얻어가자.--[변준원]
          * 오목 짜고 뿌듯한 건 진짜 짱이었고;; 스타와 포트가 너무너무 재미있었다=ㅂ= 모君의 컴퓨터가 마우스를 흔들지 않으면 다운이 되서; 계속 흔들고 있었던 게 너무 웃겼다 ㅋ; 늘었다고 생각되는 건..프로그램 실력 조금이랑..스타와 포트 실력 왕창-_- (콜록) [이진훈]
  • 데블스캠프2003/둘째날/후기 . . . . 2 matches
          * 오늘 한거 정말 장난이 아니다. 앞으로 도전은 계속된다. 모두들 열심하는 모습 보기 좋았네... 모두들 방학이 끝난다음에는 모두들 프로그램짜는데 자신감을 가질 수 있길 노력하자~~["조재화"]
          * 8퀸 문제를 실패하면서, 프로그램을 짤 때에는 먼저 확실한 알고리즘을 구축해 놓아야 한다고 생각했어요.. 알고리즘부터 틀리게 되면 나중에는 디버깅도 소용이 없다는 사실.. --[문원명]
  • 데블스캠프2003/셋째날/J2ME . . . . 2 matches
          * ["MobileJavaStudy/HelloWorld"] - "Hello World" 를 출력하는 프로그램
          * ["MobileJavaStudy/NineNine"] - 구구단을 종류별로 출력하는 프로그램
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 2 matches
         == [데블스캠프2005]/게임만들기/제작과정예제 ==
         [데블스캠프2005] [데블스캠프2005/금요일] [데블스캠프2005/게임만들기]
  • 데블스캠프2008/등자사용법 . . . . 2 matches
         이 프로그램으로 수업진행 하니까 참 재미있어요
         저같은 소심남도 이런 프로그램을 통해서
  • 데블스캠프2012/셋째날/코드 . . . . 2 matches
         = 앵그리버드 만들기 =
          * [데블스캠프2012/셋째날/앵그리버드만들기]
  • 데블스캠프2012/첫째날/배웠는데도모르는C . . . . 2 matches
          * 간단한 일정 관리 프로그램(?) 만들기로 배워보는 구조체, 함수 포인터....
  • 디자인패턴 . . . . 2 matches
         디자인패턴에 대한 설명이라.. 다른 곳에서 이미 체계적인 설명들을 해 놓아서 장황하게 설명하지 않는다고 한다면, 말 그대로 '패턴'이 된 디자인들의 묶음입니다. (물론 그렇다고 패턴이 모든 디자인 문제를 해결해주는 silver bullet는 아니죠.) 처음 프로그램을 설계를 할때 참조할 수 있는, 어느정도 공식화 된 디자인들을 일컫습니다. 현재 거의 Reference화 된 23개의 패턴이 있고요. 계속 새로운 패턴이 추가되고 있는 것으로 알고 있습니다.
         디자인 패턴을 적용함으로서 얻을 수 있는 장점으로는 '확장성'과 '유연성'을 들 수 있습니다. 그리고 초기 프로그램 설계시에 지침서가 되어주지요. OOP 의 개념을 익히고 나서 어떻게 OOP를 추구해나가야 할지 감을 못잡는 사람은 공부해보는 것만으로도 좋은 경험이 된다고 생각합니다.
  • 루프는0부터? . . . . 2 matches
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 문제를 야기 시킬수 있습니다.
         사소한 것일지 모르지만, 루프가 끝날 때 우리가 짐작 할 수 있게 되는 프로그램의 상태 정보에 영향을 줄 수 있습니다.
  • 문원명 . . . . 2 matches
          프로그램을 잘 만들수 있는 창의적인 알고리즘 구상능력의 계발.
          네트워크를 통해 할 수 있는 간단한 놀이 프로그램을 만들고 싶어요.
  • 문제풀이/1회 . . . . 2 matches
         1. 입력 3가지수를 받아서 if문을 이용하여 최대값 최소값을 출력하는 프로그램을 작성하세요. DeleteMe)스펙이 if문의 언급은 잘못된것 아닌가요?
         2. 1 을 활용하여 10개의 입력중에 가장 최대, 최소 값을을 출력하는 프로그램을 작성하세요.
  • 바퀴벌레에게생명을 . . . . 2 matches
         다큐에 TotalNumberOfMovement변수를 생성하여 바퀴벌레가 움직일 때마다 늘려준다. 그리고 프로그램이 정상종료 되었을 때(스페이스바에 의한 종료는 정상종료가 아니다.) 메세지 박스로 그 값을 출력한다.
         == 프로그램 사용법 ==
  • 보드카페 관리 프로그램 . . . . 2 matches
         보드 게임 방 관리 프로그램
         [보드카페 관리 프로그램/강석우]
  • 부드러운위키만들기 . . . . 2 matches
         === 부드러운 위키 만들기 ===
         [부드러운위키만들기]와 '위키의진입장벽낮추기'의 내용이 비슷하여 페이지를 합쳤습니다. - [임인택]
  • 블로그2007 . . . . 2 matches
          * 책에서 하라는 데로 다 설치하긴 했는데 코딩할 때는 어케 해요?[[BR]]C++처럼 따로 프로그램이 있는건가?... 아님 그냥 편집기로?... -송지훈 '''[답변 및 의견 1]'''
          * PDT - PHP Development Tool PHP 스크립트 엔진을 개발하는 Zend 팀이 Eclipse 진영에 합류후에 PHP개발 툴을 만들기 시작했는데 아직 1.0 까지도 올라가지 않은 개발 중인 제품입니다. 좋기는 하지만, 적극적인 배포도 하지 않고 Ecilpse의 공식 배포 스케줄+환경인 Calisto에도 반영되려면 멀었습니다.
  • 빵페이지/숫자야구 . . . . 2 matches
          cout << "프로그램을 종료해요.\n";
          * goto문이 생각나서 쓰긴했는데 ... ... 전에 실습시간에 조교오빠가 goto문 안 쓰는 게 좋다고 한 것 같은데.. ㅡㅜ숫자 입력할 때 한 숫자 넣고 스페이스 바 누른 후 다음 숫자를 입력해야 하는 번거로움이 있네 어떻게 해야하지?? 프로그램이 바르게 돌아가는 게 맞는 지 확신이 없어서 계속 미루고 못 올렸는데 흠.. 틀린 것 좀 알려주시길.... - 일정
  • 상협/2DAlca . . . . 2 matches
          * 2D로 벽돌 깨기를 만듭니다. 학교 오브젝트 수업 과제로 나온 프로그램
          * 벽돌 만들기
  • 새싹C스터디2005 . . . . 2 matches
         단축계산(short-circuit evaluation)의 개념을 설명한 프로그램을 읽고 이 프로그램에서 4개의 printf()함수를 실행했을 때, i, j의 값이 왜 그렇게 나오는지를 설명하시오.
  • 새싹교실/2011 . . . . 2 matches
         새싹 교실 가이드라인은 더 나은 새싹 교실을 만들기 위해 ZeroPage가 추천하는 방법입니다. 강제는 아니지만 선생님들께서는 그 의미를 생각해보시고 따라주시면 감사하겠습니다.
          * 더 좋은 커리큘럼을 만들기 위한 의견도 환영합니다. 커리큘럼을 개선할 아이디어가 있으시면 아래에 적어주세요.
  • 새싹교실/2011/學高/2회차 . . . . 2 matches
          * 3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e를 반드시 이용해야 한다.
          *3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e,를 반드시 이용해야 한다.
  • 새싹교실/2011/學高/4회차 . . . . 2 matches
          * 세개의 정수를 받아들여, 그 수를 모두 더한 후 7를 더하면 얼마인지 출력하는 프로그램
          * 프로젝트 만들기 복습
  • 새싹교실/2012/아우토반/앞반/4.12 . . . . 2 matches
          * 조금 복잡한 프로그램 짜보기
         2. 은행관리 프로그램을 작성해오시오.
  • 새싹교실/2012/클러그 . . . . 2 matches
          * 프로그램 소스 코드가 프로그램으로 되는 과정(빌드)
  • 새싹교실/2013/라이히스아우토반/1회차 . . . . 2 matches
          1. 인터프리터라는 것도 있는 데, 코드를 프로그램으로 만들어 주는것은 컴파일러와 같지만, 컴파일러와는 다르다.
          *컴파일러는 저급언어를 만들고, 인터프리터는 실행명령을 만듭니다. 이 만들어논 실행명령을 프로그램에 넣으면 실행이 되는거죠. 대표적인 인터프리터인 JVM을 가지고 와서 설명해야 할것 같은데.. 허허
  • 새싹교실/2013/라이히스아우토반/3회차 . . . . 2 matches
          puts("프로그램을 끄려면 q 아니면 다른거 :");
          puts("프로그램 끝!");
  • 새싹교실/2013/록구록구/3회차 . . . . 2 matches
          * '''조건문을 이용한 간단한 계산 프로그램 만들기!!'''
  • 새싹교실/2013/록구록구/5회차 . . . . 2 matches
          * '''직접 함수 만들기!!'''
          * 함수가 무엇인가, 함수 만들기
  • 새싹스터디2006/의견 . . . . 2 matches
         따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
         어느쪽이 되었든 하위페이지는 신중히 만들어야 합니다. 하위페이지는 순간 만들기 쉽지만 갈수록 구조를 바꾸기가 어려워집니다. '''숙제'''로 제로페이지 위키에 있는 페이지를 검색해 보세요. 내용으로 정리할 수 있는 페이지가 있지만, 손보려면 드는 시간이 적지 않을 겁니다. 일일이 페이지를 열어보기 전까지는 그 안에 어떤 내용이 있는지 알 수도 없고요. 또 하위페이지는 링크를 걸기가 더 어렵습니다. 상위 페이지 외에는 그 하위 페이지의 역링크 개수는 0에 가깝습니다. 이를테면 [5인용C++스터디/멀티쓰레드]는 [5인용C++스터디]에서만 링크하고 있습니다. 이러한 현상은 하위의 하위 페이지로 들어가면 더 심해질 것입니다. -- [Leonardong]
  • 새페이지만들기 . . . . 2 matches
          페이지를 만들기 전에 페이지의 양식이 될만한 템플릿들이 제시된다.
         <!> '''필독사항'''. 페이지를 만들기에 앞서 [["페이지이름"]] 에 대한 안내를 읽어 본다.
  • 수학의정석/방정식/조현태 . . . . 2 matches
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
          return 0; // 프로그램 종료.
  • 수학의정석/집합의연산/조현태 . . . . 2 matches
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
          return 0; // 프로그램 종료.
  • 수학의정석/행렬/조현태 . . . . 2 matches
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
          return 0; // 프로그램 종료.
  • 스터디/Nand 2 Tetris . . . . 2 matches
          * Hack Machine language를 사용해서 프로그램을 작성해 봄.
          ROM에는 미리 넣어 놓은 프로그램이 있음.
  • 아잉블러그 . . . . 2 matches
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
         = 프로그램 =
  • 알카노이드 . . . . 2 matches
          * JAVA 공부와 더불어 추억의 게임 벽돌깨기 만들기
          * 기본 틀 (프레임) 만들기
  • 오픈소스검색엔진Lucene활용/세미나060401_2시 . . . . 2 matches
          * 자신의 프로그램에 검색이 필요한 경우 굳이 새로 만들기 보다는 기존의 검증된 오픈소스를 활용하기 위한 방법을 소개해 드릴 예정입니다.
  • 우리가나아갈방향 . . . . 2 matches
         하지만 개인 경쟁력 강화와 경력 관리라는 측면까지 고려해서 제로페이지 활동을 한다면, 지금보다 더 많은 가치를 얻을 수 있을 것 같습니다. 특히 게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트를 한다면, 프로젝트 하나하나가 자신의 경력을 쌓을 수 있는 기회라는 생각도 해보면 좋겠습니다.
         윗 글에서 ''게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트''를 해야 한다는 말에 공감합니다. 실제로 저런 프로젝트를 하면서 프로그래밍 하는 재미를 느끼게 됩니다. 먼저 2학년 이상인 ZP 회원들부터 저런 프로젝트를 하는 모습을 후배들에게 보여줘야 한다고 생각합니다. -[상협]
  • 위시리스트 . . . . 2 matches
          * 컴퓨터 프로그램의 구조와 해석 1, 2권
         무한상상 DIY 아두이노와 안드로이드로 45개 프로젝트 만들기
  • 위키설명회2005 . . . . 2 matches
         [신입회원모집]과 [부드러운위키만들기]의 한가지 방법으로 행해지는 행사.
          자기페이지만들기 > 다른사람페이지 수정하기 > 자기페이지고치기
  • 윤성만 . . . . 2 matches
          홈페이지 만들기
          프로그램 잘짜고 싶은데~
  • 이연주/공부방 . . . . 2 matches
          2 ∼ 9 까지의 구구단을 한 화면에 출력하는 프로그램을 작성하시오.
          포인터로 배열들의 요소를 지적하고 배열간의 자료교환을 하는 프로그램을 작성하시오.
  • 이영호/잡다 . . . . 2 matches
         회사에서 웹프로그램과 DB, 시스템 관리를 하고 있습니다.
         혹시 게임 사이트나 게임 프로그램을 하신 분들 중에서 이거에 대한 정보를 주실 분이 계시나요
  • 정모/2002.9.26 . . . . 2 matches
         저번 정모 이후, 사람들 살던 이야기. MobileJavaStudy 팀 (재동, 상규) 이야기가 있었다. 핸드폰으로 프로그램 올린 모습을 보여주었다.
          한번씩 돌아가면서 정모 기간 (2주정도?) 내 일어난 일이나 사건들. 관심사 등등. 그리고 2차행사로서 간단한 세미나를 한다던지, 자신이 만든 프로그램에 대해 시연을 한다던지. 문제를 제대로 정의할 수 있다면, 답을 구할 수 있을것 같다. (가장 간단한 일을 시작할 수 있을 것 같다. 정모 스타일에 비격식적 대화시간을 넣어본다던지, 자네가 정모 진행을 할때, 주위를 환기시킬 수 있고. 또는, 회장의 진행없이 나가볼 수도 있고.) --["1002"]
  • 정모/2003.1.15 . . . . 2 matches
          * 뚜렷한 목표가 없다. -> 맞는 말입니다. 그냥 단순히 학교 공부에나 도움될줄 알고 나오는 사람도 꽤 있는거 같습니다. 제가 가진 생각으로는 2가지 목표가 있을거 같네요. 프로그램 짜는거와, 프로그래밍 경진대회 같은데 나가서 입상하는거 정도..2003년도부터는 과내 프로그래밍 경진대회에서 입상하면 ACM예선 대회 같은곳에 나갈 수 있도록 지원해줄거 같으니, 그런걸 목표로 해도 되고, 좋은 프로그램을 짜서 다른 사람들도 널리 쓸 수 있도록 하면서 보람을 느끼는걸 목표로 해도 되겠네요.
  • 정모/2003.3.5 . . . . 2 matches
          * 단계별로 프로그램에 대한 튜토리얼과 간략한 설명과 함께 그 수준에 맞는 프로그램을 작성해서 레벨업 시키는 방식.
  • 정모/2006.12.16 . . . . 2 matches
          * 창섭 - 필요한 프로그램, 기타 프로그램 두개의 풀을 만들자.
  • 정모/2006.5.22 . . . . 2 matches
          - 각 요일마다 목표가 되는 프로그램을 정해서, 그에 맞는 문법을 가르쳐 주는게 어떨까??
          - 가르쳐 줄 것 -> 프로그램을 정함.
  • 정모/2007.3.13 . . . . 2 matches
          @ ZP소개 : PPT만들기, 발표준비 => 김정현님
          - 첫 세미나인 만큼 코딩까지의 진도는 너무 빠르다고 생각합니다. 첫 시간인 만큼 프로그램이 무엇인지에 대한 인식에 주안점을 두었으면 합니다.
  • 정모/2007.3.6 . . . . 2 matches
         첫 번째 발표자 : 김정현 -> 계절학기수강, 스키장, 시간표프로그램 프로젝트 표류중(진행중), 그 외에는 잡다하여
         - 제로페이지가 커져도 잘 운영되는 학회를 만들기 위해서 제로페이지 회원이라면 역할을 하나씩 맡는 쪽으로 가는건 어떨까?
  • 정모/2011.3.14 . . . . 2 matches
          * 스스로 커리큘럼을 만들기 어려운 재학생들에게 레퍼런스를 제공하기 위해 만든 것.
          다음주에 현이형이 무슨 프로그램가지고 단어를 랜덤하게 뽑은 후에 이야기를 만들어보는걸 해본다고 하던데, 오늘 처럼 교양학교후에 참여해서 볼 수 있으면 좋겠네요.
  • 정모/2011.3.7 . . . . 2 matches
          * 학생회 회의 떄문에 늦어서 루비 세미나 뒷부분부터 참석한 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
          * 루비로 만들어진 프로그램 많아요!! 대표적인 Ruby on rails랑 redmine도 있고.. 어디서는 요즘 GUI 대세는 루비라고도 하던데ㅎㅎ 루비가 별로 쓸일이 없는건 제가 루비를 잘 몰라서였습니다 하하ㅠㅠㅠ 덧)Objective-c를 아예 날잡고 세미나 하는것도 좋을거같아요 - [서지혜]
  • 정모/2011.5.9 . . . . 2 matches
          * 스타2를 플레이해본 적은 없지만 스타1 캠페인 에디터나 RPG만들기는 조금씩 찌끄려봤는데 이번 기호의 OMS를 보고 유저의 게임 만들기에 있어 엄청난 발전과 변화를 불러 일으켰더군요. 버그가 많고 코드에 대한 이해가 필요하다는 점도 있지만 스타2로 만들어진 와우는 정말 흥미로웠습니다. 데블스 staff 회의를 진행하면서 이제까지의 데블스캠프에 대해 회고해보고 어떻게 해야 개선할 수 있을지 고민해 보았는데 ZP에서 학우들이 학술적으로 오랜 시간 동안 많은 공유를 할 수 있는 몇 안되는 큰 행사이니 만큼 뜻깊은 시간이 되었으면 좋겠습니다. - [Enoch]
  • 정모/2011.7.18 . . . . 2 matches
          * 주제 : OMS뭐해야할까 - 집에 남는 컴퓨터 활용 - 서버만들기 (..)
          * 파일 비교 프로그램을 두주간 구현하는 것이 목표.
  • 정모/2012.7.18 . . . . 2 matches
          * [김민재]학우의 DEP(Data Execute Prevention) : 실행 불가능한 메모리 영역에서 프로그램을 실행시키는 것 방지.
          * UDK 스터디 - 3D 쪽 리소스 만들기나 UDK 스크립트를 배우느라 아직 정신이 없음.
  • 정모/2012.7.25 . . . . 2 matches
          * MT에서 할 프로그램 모집 중.
          * 작은자바이야기 : Generics와 Reflection API를 이용한 objectMapper 만들기. Reflection API는 강력해서 무척 마음에 든다. 그리고 objectMapper라는 아이디어를 잘 이용하면 다른 곳에서도 반복되는 작업을 많이 줄여줄 것 같아서 비슷한 방식을 사용하는 것도 좋을 것 같다.
  • 제12회 한국자바개발자 컨퍼런스 후기 . . . . 2 matches
         == 프로그램 ==
          간단하게 점심을 먹고 본인은 첫 세미나로 Track 3에서 한 아키텍트가 알아야 할 12/97가지를 들었다. 그 내용중에서 STAN으로 프로그램의 상태를 보여주는 부분이 인상깊었다. 그렇다고 여기에 너무 민감하게 반응하지는 말라던.. 그리고 그 곳에 심취해 있다고 단순히 신기술이라고 무조건적으로 사용하기 보다는 이런 저런 상황을 고려하라는 것.. 가장 생각나는 것은 문제는 기술의 문제가 아니라 모든 것은 사람에 관한 것이다라는.. 모든 일은 나 자신으로부터 비롯된다라고 생각하고 있었는데 그 부분과 어느정도 상통하는 이야기였던 것 같다.
  • 제로스 . . . . 2 matches
          * 제작한 OS에서 돌아가는 응용프로그램을 만들어 본다.
          * 현재 프로젝트의 방향은 정하지 않은 것으로 보이니까 공룡책으로 이론 공부를 하고 Nachos라는 교육용 OS 프로그램 분석을 병행하면서 여기서 얻은 지식으로 OS를 만드는 접근 방법을 사용하는 것이 어떨까 하는데 다들 의견이 어떠신지 궁금? -- 이론 : Operating System Concepts -- 실습 : Nachos - [진석]
  • 제로페이지의문제점 . . . . 2 matches
         99학번들의 경우 1학년때 여름방학때는 C++ & API 스터디를(15명이 넘었던걸로 얼핏 기억), 그 이후에 좀 한풀 꺾이다가 이전 스터디 멤버중 5-6명이 MFC 스터디를 진행하였다. 이 또한 시험기간때 이후 잠정적으로 중지되었지만, 스터디 한 만큼만은 멤버들에게 지식으로 남았다. 그리고 그중 3명은 매일 금요일마다 밤새는 날을 만들기도 하였으며, 혹자는 이상엽씨 배개책을 버스에서 완독하였다고 전해진다.
          해결책 : 지도교수님을 모시는 학회가 되라. --[ZeroPage정학회만들기]에서
  • 제로페이지회칙만들기 . . . . 2 matches
         = 제로페이지 회칙 만들기 =
         페이지를 어설프게 만들었으니 회칙 만들기 토론을 해봅시다. - 광식
  • 조현태/놀이 . . . . 2 matches
         [조현태/놀이/채팅서버]
         [조현태/놀이/시간표만들기]
  • 졸업논문/본론 . . . . 2 matches
         관계형 데이터베이스는 관계형 모델에 따라 논리적으로 연관이 있는 데이터를 모아놓은 것이다. 관계란 n-tuple이 한 줄 씩 배열된 것으로, 줄이 배열된 순서는 관계없고, 모든 줄은 구별할 수 있어야 한다.[11] 데이터베이스 관리 시스템(DBMS)는 데이터베이스를 구성, 변경, 조회하는 프로그램을 모아 놓은 것이다.[12] 현재까지 관계형 DBMS가 많이 쓰이고 있는데, 이는 관계를 테이블로 나타내고 키를 이용해 정보를 연결하는 특징을 가진다.[11] SQL은 관계형 데이터베이스의 데이터를 생성,조회,변경하는 언어로 ANSI/ISO표준이다.[13] SQL을 이용하면 데이터베이스 테이블 생성에서부터 데이터 추가, 삭제, 변경, 조회는 물론이고 여러 건에 대한 트랜잭션처리까지 가능하다.
         Django의 설계 철학은 한 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화한다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때문에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또한 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러한 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
  • 중위수구하기 . . . . 2 matches
         문제 : 세 수 A, B, C를 받아들여 그 중 중위수를 구하는 프로그램을 작성하여라.
          * a = -999 이면 프로그램이 끝나게 한다.
  • 지금그때2004/토론20040401 . . . . 2 matches
          * 검은 : 패널 선택, 질문 만들기 까다롭다
          질문만들기는 힘듬
  • 컴퓨터공부지도 . . . . 2 matches
         예전에 Windows Programming 을 배운다고 한다면 기본적으로 GUI Programming 을 의미했다. Windows 가 기본적으로 GUI OS 이기에 기본이 이것이라고 생각하는 것이다. 하지만, GUI 는 어디까지나 'User Interface' 이다. 즉, 이건 Input/Output 에 대한 선택사항이다. 필요할때 공부하자. (하지만, 보통 User-Friendly 한 프로그램들은 대부분 GUI 이다.)
          * 내 생각엔 일단.. : 윈도우 컨트롤(VC 등의 리소스 편집기에서 제공 되는 모든 컨트롤들) 을 다루는 법을 완전히 습득 하자. 리스트 컨트롤, 트리 컨트롤, 탭 컨트롤 등의 모든 컨트롤을 자유자재로 원하는 모양(비트맵) 으로 바꿔서 사용할 수 있을때 까지 하자. 완전히 습득하면 어떤 프로그램이든 50% 이상 개발 기간이 단축될 것이다. -- ["김정욱"]
  • 큐와 스택/문원명 . . . . 2 matches
          // 만약 그공간이 OS의 보호아래 현재 프로그램이 접근할수 없는 영역이라면,
          // 프로그램은 죽습니다.
  • 큰수찾아저장하기/김태훈zyint . . . . 2 matches
          //이들을 깔끔하게 출력하는 프로그램을 작성하여라.
          //이들을 깔끔하게 출력하는 프로그램을 작성하여라.
  • 큰수찾아저장하기/허아영 . . . . 2 matches
          또 더 좀더 효율적인 프로그램만들기 위해선 어떻게 해야할까 ? 그리고 C언어의 장점을 살리는 방법이 뭘까?
  • 테트리스만들기2006/뒷반 . . . . 2 matches
          == [테트리스만들기2006/뒷반] ==
         [테트리스만들기2006]
  • 테트리스만들기2006/앞반 . . . . 2 matches
          == [테트리스만들기2006/앞반] ==
         [테트리스만들기2006]
  • 토이/삼각형만들기 . . . . 2 matches
         = 삼각형 만들기 =
         [토이/삼각형만들기/김남훈]
  • 프로그래밍언어와학습 . . . . 2 matches
         하지만 이제는 컴퓨터 시스템에 대한 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대한 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 문제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
         하드웨어를 "뼈 속 깊이 꿰뚫고 있는 사람"과 그런 거라곤 하나도 모르는 사람이 동일한 문제에 접근했을 때 후자의 경우가 더 훌륭한 프로그램을 더 빨리 산출해낼 가능성은 얼마든지 있습니다.
  • 프로그래밍잔치/둘째날후기 . . . . 2 matches
          * 오늘 하면서도 느꼈던 것은 고정관념을 버려야 한다는 것!! 어제 역시 새로운 언어를 해보면서 이전까지의 언어에서의 고정관념에 사로잡혀 허우적되는 나를 발견했었는데... 오늘도 또다시 고정관념을 버려야한다는 것을 느끼게 했다. 프로그래밍에서 디자인이 시간낭비라는 고정관념, 코딩이 가장 중요하다는 고정관념, 프로그램 개발에서 가장 많은 시간을 소비하는 부분은 코딩이라는 고정관념.... 반드시 버려야겠다. 디자인은 절대로 시간낭비가 아니라는것... 가장 중요한 것이 코딩이 아니라것... 프로그램 개발에서 가장 많은 시간을 소비해야 할 부분이 코딩이 아니라는것.... 꼭 기억해야 겠다. --["상규"]
  • 프로그래밍잔치/셋째날 . . . . 2 matches
          1. 먼저 간단한 문제에 대한 프로그램을 작성한다. 제한 시간이 짧으니 가장 빨리 짜도록 한다.
          관련 화일 : [http://zeropage.org/pub/WinMergeSetup.exe winmerge(화일비교프로그램)]
  • 하드웨어에따른프로그램의속도차이해결 . . . . 2 matches
          * 우리가 만든 프로그램이 어떤 하드웨어에서던지 일정한 속도로 돌아가기를 바라는 경우가 있다. 특히 게임을 만드는 경우가 대표적인 예이다. 그러한 경우 어떠한 해결책이 있는지 알아 보면 좋을거 같다. 여기에 그 해결책들을 적어 보고 잘못된 방법은 고치기도 하면서 좋은 방법을 찾으면 좋겠다.
          * 궁금한게 있는데, ["MFCStudy_2001/MMTimer"] 로 안된단 말이야? 가장 빠른걸로 알고 있어서, 동작 제어는 타이머단에서 하고, loop에서 열심히 그림 그려서 fliping만 해주면 되지 않을까? 낮에는 경황이 없어서, 그냥 멀티미디어 타이머 이야기만 했는데, winamp 같은 시간에 의존적인 프로그램들도 이 타이머를 사용해서 말이지. --["neocoin"]
  • 헝가리안표기법 . . . . 2 matches
         10, 15년전 Microsoft의 개발자중 헝가리 사람의 프로그래머가 쓰던 변수 명명법. MS내부에서 따라쓰기 시작하던 것이 점차 전세계의 프로그래머들에게 널리 퍼져 이젠 프로그램 코딩시 변수 명명의 표준적인 관례가 되었다.
         그러나 실제로 현장에서 일하다 보면 헝가리안 표기법을 제대로 지키는 개발자는 그리 많지 않다. 어느정도 개발경험을 가지고 있는 프로그래머는 물론 심지어 시중의 프로그래밍 서적에서 조차 저자마다 변수명을 개인에 따라 가지각색으로 짓고 있어서 처음 프로그램을 배우는 입문자들들이 변수 명명에 대한 기준을 제대로 잡지 못하고 있는 실정이다.
  • 호너의법칙 . . . . 2 matches
         호너의 법칙을 이용한 프로그램을 작성하여라.
         배열은 선언하고, 다항식에서 변수 x값은 표준입력받으세요. 예제 output에서는 변수 x = 1입니다. 출력은 output.txt파일에 한번 해보세요. 문제의 요구조건은 이정도 일것 같습니다. 좀 더 일반화된 프로그램을 만들고자 하는 분은 배열도 한번 입력받아 보세요. -- 보창
  • 호너의법칙/조현태 . . . . 2 matches
         프로그램 돌리면 에러가 뜹니다.
         register int i를 여러번 쓴 것은 메모리 낭비를 적게하려는 생각이었습니다. 그냥 메모리도 아니고 레지스터 메모리를 프로그램 시작부터 끝까지 잡고있을 필요는 없을것 같았답니다.^^
  • 05학번만의C++Study/숙제제출/4 . . . . 1 match
          * INT형을 만족하는 숫자를 입력하면 그 숫자를 저장하는 클래스를 생성되었다는 메시지와 함께 생성하라. 만약 입력된 숫자를 가진 클래스가 이미 존재할 경우에는 클래스가 가짖 숫자를 출력하고 해당 클래스를 삭제한다. 프로그램이 종료될떄에는 모든 클래스를 삭제한다. (단 숫자의 출력은 파괴자에서 해야한다.)
  • 05학번만의C++Study/숙제제출2/허아영 . . . . 1 match
         문자열과 0을 입력하면 프로그램이 끝나게 만들었습니다.
  • 0PlayerProject/커널업로드작업정리 . . . . 1 match
          * go 위치 : 해당 위치의 프로그램을 실행한다.
  • 1thPCinCAUCSE/ProblemA . . . . 1 match
         이렇게 시작 시각과 끝 시각이 주어질 때, 그 시간 구간 동안 시침과 분침이 몇 번 일치하는가를 계산하는 프로그램을 작성하시오. 시간 구간은 12 시간 미만이라 가정한다.
  • 1thPCinCAUCSE/ProblemB . . . . 1 match
         X에 대해서 N을 계산하는 프로그램을 작성하시오. 해당하는 N이 없으면 -1을 출력한다.
  • 1thPCinCAUCSE/ProblemC . . . . 1 match
         각 칸이 검은 색이나 흰색으로 칠해진 3*3 정사각형이 주어질 때, 이를 모두 흰색이 되도록 하는데, 누르는 회수를 최소로 하는 방법을 찾는 프로그램을 작성하시오.
  • 2005리눅스프로젝트<설치> . . . . 1 match
          *VMware-workstation-5 이란 가상 컴퓨터 프로그램입니다. 윈도우에서 VM으로 여러 윈도우를 설치 할수가 있습니다.(컴터사양이 딸리시는분은 느릴것입니다.)
  • 2006김창준선배창의세미나 . . . . 1 match
          * 알파파 만들기 -> 위에서 기억한 행동을 하거나 그러한 생각들을 머릿속에 그리면 나도 모르게 알파파가 생기며 현재 집중력이 올라가며 창의적 사고에 도움이 된다.
  • 2010JavaScript . . . . 1 match
          * 게임을 만들기로 결정. 구체적으로 무슨 게임을 만들지는 15일에 결정.
  • 2dInDirect3d/Chapter1 . . . . 1 match
          이것을 만드는 이유는 간단하다. IDirect3DDevice8 객체를 만들기 위해서는 "꼭" 필요하기 때문에 만든다. 이 객체에서는 실질적인 작업보다는 초기화를 도와주는 역할을 주로 한다.
  • 2ndPCinCAUCSE . . . . 1 match
          * [2ndPCinCAUCSE/ProblemA] - A번 문제 "삼각형 만들기"
  • 2ndPCinCAUCSE/ProblemB . . . . 1 match
         우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
  • 2ndPCinCAUCSE/ProblemC . . . . 1 match
         N명의 아이들이 임의의 순서로 줄을 서 있을 때, 번호 순서대로 배치하기 위해 옮겨지는 아이의 최소 수를 구하는 프로그램을 작성하시오.
  • 2학기파이선스터디/if문, for문, while문, 수치형 . . . . 1 match
         다음은 1부터 10을 세는 프로그램이다.
  • 3,5,7빵Problem . . . . 1 match
         이때, 컴퓨터가 두번째로 시작한다고 가정하고 사용자의 입력에 따라 무조건 이길 수 있는 최적해를 출력해 이기는 프로그램을 짜면 됩니다.
  • 3rdPCinCAUCSE/ProblemA . . . . 1 match
         입력으로 바둑판의 어떤 상태가 주어졌을 때, 검은색이 이겼는지, 흰색이 이겼는지 또는 아직 승부가 결정되지 않았는지를 판단하는 프로그램을 작성하시오. 단, 검은색과 흰색이 동시에 이기거나 검은색 또는 흰색이 두 군데 이상에서 동시에 이기는 경우는 입력으로 들어오지 않는다.
  • 3rdPCinCAUCSE/ProblemB . . . . 1 match
         네 개의 직사각형이 평면에 있는데, 밑변이 모두 가로축에 평행하다. 이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함 할 수도 있으며, 변이나 꼭지점이 겹쳐질 수도 있다.
  • 3rdPCinCAUCSE/ProblemC . . . . 1 match
         M개의 쌍에 대한 결과를 보고 무게가 중간인 구슬이 될 수 없는 구슬의 개수를 구하는 프로그램을 작성하시오.
  • 5인용C++스터디/더블버퍼링 . . . . 1 match
         여기서는 더블 버퍼링의 원리에 대해서만 이해하도록 하고 실무를 할 때 더블 버퍼링을 쓰면 좋겠다는 생각이 들면 적극적으로 활용해 보기 바란다. 다음 예제는 더블 버퍼링을 활용한 갱 화면이다. 갱(Gang) 화면이란 프로그램 제작자를 소개하는 용도를 가지며 일반적으로 숨겨져 있지만 제작자 자신을 표현한다는 면에 있어 다소 멋을 좀 부리는 경향이 있다. 이 예제는 배경 비트맵을 깔고 그 위에서 제작자 목록을 위로 스크롤하는 예를 보여준다.
  • 5인용C++스터디/마우스로그림그리기 . . . . 1 match
         마우스를 이용하여 그림을 그릴 수 있는 프로그램 작성하기.
  • 5인용C++스터디/비트맵 . . . . 1 match
         사진과 같은 정밀한 그래픽을 프로그램 실행중에 일일이 그린다는 것은 괴장히 비합리적.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 1 match
          new 연산자로 에디트 객체를 만들었으므로 프로그램이 종료될 때 이 객체를 파괴해 주어야 한다. WM_DESTROY 메시지의 핸들러에 다음 코드를 작성하면 된다.
  • 5인용C++스터디/작은그림판 . . . . 1 match
         선, 사각형, 원을 그릴 수 있고 색칠을 할 수 있는 간단한 그림판 만들기.
  • 5인용C++스터디/후기 . . . . 1 match
         문법이 복잡하고 어려워서 정말 힘들었지만 그에 대한 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
  • AM/20040803여덟번째모임 . . . . 1 match
          * 공부한 내용 : MFC 교재 2장(프로그램의 뼈대)
  • AM/20040813열번째모임 . . . . 1 match
          * 계산기만들기 숙제??
  • AM/20040817열한번째모임 . . . . 1 match
          * 파트1끝내고 알카노이드(벽돌깨기) 만들기??
  • AM/20040824열두번째모임 . . . . 1 match
          * 알카노이드 혹은 베네치아 만들기
  • AOI/2004 . . . . 1 match
         uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
  • ATmega163 . . . . 1 match
          * 비휘발성 프로그램 과 데이타 메모리
  • AcceleratedC++ . . . . 1 match
         흠 처음 생각했던 것 보다 뒷 장의 내용이 좀 신선한 부분이 많다. 특히 14장에 Ptr 클래스는 정말로 신선하다. =.= C++로 프로그램을 짜면 이렇게 짤 수도 있구나 그런생각이;; - [eternalbleu]
  • AcceleratedC++/Chapter11 . . . . 1 match
         클래스를 설계할때에는 우선 인터페이스를 결정해야한다. 인터페이스의 결정에는 실제로 그 객체를 이용한 프로그램을 작성해보는 것이 좋다.
  • AcceleratedC++/Chapter15 . . . . 1 match
         15장은 5장에서 제시되었던 문자열 출력프로그램을 객체지향에 입각해서 설계하는 방법을 설명한다.
  • AcceleratedC++/Chapter6/Code . . . . 1 match
          * 먼저 과제라고 나온 optimistic_median_analysis 함수 만들기
  • ActiveXDataObjects . . . . 1 match
         마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
  • Ant/BuildTemplateExample . . . . 1 match
          <!-- 배포를 위한 디렉토리 만들기 -->
  • AntOnAChessboard . . . . 1 match
         앨리스는 여덟 번째 단계에서는 (2, 3) 위치에 있었고, 20번째 단계에서는 (5,4) 위치에 있었다. 단계 수가 주어졌을 때, 체스판이 매우 커서 움직일 수 있는 위치에 제한이 없다고 할 때, 앨리스의 위치를 결정하는 프로그램을 만들어야 한다.
  • AntTask . . . . 1 match
          <!-- 배포를 위한 디렉토리 만들기 -->
  • Apache . . . . 1 match
         무료 웹 서버 프로그램.
  • Applet포함HTML/영동 . . . . 1 match
         이상하네... 프로그램을 잘 못 짠 건가?[[BR]]
  • AttachmentMacro . . . . 1 match
         === 손톱 그림 만들기 지원 ===
  • BasicJAVA2005/실습2 . . . . 1 match
         = 빙고판 만들기 =
  • BasicJAVA2005/실습2/허아영 . . . . 1 match
         Upload:내가처음만든자바프로그램2.bmp
  • BasicJava2005/3주차 . . . . 1 match
          * 숫자야구 만들기 : [BasicJAVA2005/실습1]
  • BeeMaja . . . . 1 match
         마야를 도와서 윌리가 쓰는 좌표계를 마야가 쓰는 좌표계로 변환해보자. 어떤 벌집 번호가 주어졌을 때, 그 번호를 마야의 시스템에서의 좌표로 변환해서 출력하는 프로그램을 만들어야 한다.
  • Bicoloring/문보창 . . . . 1 match
         평이한 문제. 이산수학이 생각난다. if...else 구문을 사용할때 모든 조건을 프로그램에서 포함하는지 주의깊게 코딩해야 한다.
  • BirthdayCake . . . . 1 match
         오늘은 루시와 릴리의 생일이라서 어머니가 생일 케이크를 사오셨다. 케이크에는 체리가 2N(1≤N≤50)개 있다. 어머니는 케이크를 한 가운데를 따라 직선으로 잘라서, 루시와 릴리에게 주는 케이크의 양과 체리의 개수를 정확히 똑같게 하려고 한다. 어머니를 도와주기 위한 프로그램을 만들어보자.
  • Boost/SmartPointer . . . . 1 match
          * 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
  • BoostLibrary/SmartPointer . . . . 1 match
          * 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
  • BuildingParser . . . . 1 match
         파서 만들기.
  • BuildingParserWithJava . . . . 1 match
         자바를 이용한 파서만들기, 기능추가하기
  • BusSimulation/조현태 . . . . 1 match
          뭔가 재미있어 보여서 만들기 시작했다.
  • C++스터디_2005여름/도서관리프로그램/조현태 . . . . 1 match
         [LittleAOI] [C++스터디_2005여름/도서관리프로그램]
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 1 match
         꼭 본인이 모두 학점계산프로그램을 완성한 후 제 가 짠 코드와 비교해 보시기 바랍니다.
  • CORBA . . . . 1 match
          * 간단 분산 어플리케이션 만들기(["코바예제/시계"])
  • CPPStudy_2005_1/질문 . . . . 1 match
         3장 2번째 프로그램인뎅....책대로 쳤는데 에러남..ㅡㅜ
  • CVS . . . . 1 match
         버전 관리 프로그램 몇가지 : IBM의 CLEAR/CASTER, AT&T의 SCCS, CMU(카네기 멜론 대학)의 SDC, DEC의 CMS, IBM Rational의 {{{~cpp ClearCase}}}, MS의 {{{~cpp Visual SourceSafe}}}, [Perforce], SubVersion, AlianBrain
  • CanvasBreaker . . . . 1 match
          * 이미지 프로세싱 프로그램
  • CarmichaelNumbers . . . . 1 match
         주어진 정수가 카마이클 수인지 테스트하기 위한 프로그램을 만들어라.
  • ChainsawMassacre . . . . 1 match
         캐나다 벌목인 협회에서 최근에 연례 벌목 경진 대회를 개최했는데, 몬트리올과 뱅쿠버 사이에 있는 국립공원의 나무들이 많이 잘려나갔다. 경진 대회가 끝나고 벌목인들이 모두 모여 즐기기 위한 파티를 시작할 때가 되었다. 조직위원회에서는 이브닝 파티에 적합한 무도회장을 만들기 위해 나무가 한 그루도 없는 넓은 직사각형 모양의 공터를 찾고 있다. 벌목인들은 모두 술이 취해서 아무도 전기톱을 가지고 작업을 할 엄두를 못 내고 있다.
  • Chapter I - Sample Code . . . . 1 match
          수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
  • ChocolateChipCookies . . . . 1 match
         초코칩 쿠키를 만들기 위해 밀가루와 소금, 기름, 베이킹 소다, 초콜릿 칩을 섞어서 반죽을 만든 다음 가로, 세로 50cm의 정사각형 모양으로 밀어서 편다. 그리고 이 평평한 반죽을 원형으로 잘라서 쿠키판 위에 놓은 다음 약 20분 동안 오븐에서 굽는다. 쿠키가 다 되고 나면 오븐에서 꺼내서 식힌다.
  • CincomSmalltalk . . . . 1 match
          * 연결 프로그램으로 압푹을 푼 디렉토리 안에 있는 bin\win 디렉토리 안에 있는 visual.exe 를 지정해준다.
  • ClassifyByAnagram/sun . . . . 1 match
          * 분석: 예전에 우스개 소리로, 프로그램을 빠르게 하려면 컴퓨터를 업그레이드 하라더니, 웃을일이 아니다 -_-;
  • ClassifyByAnagram/상규 . . . . 1 match
         === 프로그램 소스 ===
  • CleanCode . . . . 1 match
          * EJB, Spring ... : 해당 framework에서 제공하는 다양한 방법들을 통해 xml, annotation 등의 간단한 설정으로 횡단 관심사에 관한 코드를 작성하지 않고도 해당 기능들을 자신의 프로그램에 넣을 수 있다.
  • CleanCodeWithPairProgramming . . . . 1 match
          * 간단한 프로그램인데 다른팀 구조가 너무 많이 달라서 읽다보니 시간이 전부 흘러가버림 -.- - [장혁수]
  • ClearType . . . . 1 match
          * [http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx ClearType Tuner]라는 프로그램으로 세부적인 클리어타입 셋팅을 할 수 있다.
  • Code/RPGMaker . . . . 1 match
         = Orthogonal projection coordinate system 만들기 =
  • CommentEachOther . . . . 1 match
         전에도 느꼈었고, 여러 대가들께서도 자주 말씀하시곤 하는데, 자신의 코드의 퀄리티를 높이려면 남이 만들어놓은 소스를 보라는 이야기가 있다. 이 글을 읽는 분들도 동의하리라 생각한다. CommentEachOther 는 [AOI]나 LittleAOI 처럼 여러 사람이 한 문제에 대한 풀이를 올리고 그것들에 대한 코멘트를 하는 스터디라 할 수 있겠다. 여기서 코멘트라 함은 소스코드에서 명령문 옆에 붙이는 간단한 부연설명이 될 수도 있겠고, 코드 전체에 대한 비평이나 느낌일수도 있다. 처음에는 간단한 문제로 시작해서 디자인 principle 이 들어가있는 프로그램으로 횟감의 스케일을 키워나가는게 어떨까 생각을 한다. 나는 그냥 제안하는 입장이고, 간혹 간단하게 작성한 소스를 올리는 정도로만 참여하도록 하고, 적극적인 참여를 할 사람들이 생기면 이곳에 문제와 자신의 코드를 올리고 토론을 해봤으면 좋겠다. 토론의 방법이야 오프라인 모임에서 하거나 따로 코멘트 페이지를 만들거나. 자. 다들 어떻게 생각하시는지? 참여할분들(!) 계시면 아래에 참여자 목록과 문제를 업로드해 주셨으면.~ - 임인택
  • CompilerTheory/ManBoyTest . . . . 1 match
         Donald Knuth 가 Algol 60의 구현 정도를 판변하기위해서 만든 프로그램. 테스트의 목적은 올바르게 구현된 scoping rule, call-by-name의 구현 정도를 판별해서 boys(algol 60 구현물)들중에서 men (쓸만한 놈)을 가려내는 용도로 고안되었습니다.
  • CompleteTreeLabeling . . . . 1 match
         입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 한다.
  • CompleteTreeLabeling/조현태 . . . . 1 match
          일단 만들기는 했지만.. 조건을 만족시키지 못한다.
  • ComponentObjectModel . . . . 1 match
         RCW를 구현하고 있는 .Net 하에서는 COM 객체는 아마도 제한적으로 호환성의 측면에서 사용될 것이다. 또한 .NET 객체들은 아마도 COM callable wrapper를 호출하는 것 때문에 COM 객체들안에서 사용될 것이다. 덧붙여서 COM+가 제공하는 일부분의 서비스들(transaction, queued components)은 여전히 .NET 응용프로그램에서도 중요한 부분이다.
  • ComputerNetworkClass/2006 . . . . 1 match
          * 프로그램들 - 아래 두개 모두 다운 받아야 합니다.
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 1 match
         상기와 같이 기존의 서버 프로그램과 다른 점은 별로 없다. (Listen과 accept가 없네요. WSAIoctrl에서 다 처리하는건지...) 단지 소켓을 ioctrl 로 조정해서 ip 수준에서 올라오는 패킷을 기존과 다르게 처리할 뿐이다.
  • ConstructorMethod . . . . 1 match
         하지만 이 방법은 쓸만한 인스턴스를 만들기 위해 클래스의 레퍼런스를 찾아봐야 하는 등의 골치 아픈 문제가 있다. 특히 클래스가 복잡할때는 문제가 좀 커진다.
  • CppStudy_2002_1 . . . . 1 match
         상협. [STL/string|String] 클래스의 스펙을 어떻게 주었는지? 사람들이 왜 전부 String 이용 프로그램 GOD 클래스를 만드는걸까 궁리.
  • CppStudy_2002_1/과제1 . . . . 1 match
          * 영동의 소스 : 먼저 전체적으로 02학번의 경향이 전역 변수를 쉽게 선언하는거 같다. 전역변수는 나중에 프로그램이 커질 경우에는 다른 여러 변수와 헷갈릴 수 있기 때문에 가능하면 피하는게 좋다.
  • CppStudy_2002_2/STL과제/성적처리 . . . . 1 match
          cout << "STL을 이용한 성적관리 프로그램" << endl;
  • CuttingSticks . . . . 1 match
         절단 순서에 따라 요금이 달라진다는 것은 그리 어렵지 않게 알 수 있다. 예를 들어 10미터짜리 막대를 한 쪽 끝으로부터 2, 4, 7미터 위치에서 자르는 경우를 생각해보자. 자를 수 있는 방법은 매우 다양하다. 처음에 2미터 위치에서 자르고 그 다음에 4미터 위치, 마지막으로 7미터 위치에서 자를 수도 있다. 이렇게 하면 요금은 10+8+6=24가 된다. 첫번째 막대는 10미터였고, 그 다음 막대는 8미터였고, 마지막 막대는 6미터였기 때문이다. 하지만 일단 4미터 지점에서 자르고 2미터 지점에서 자른 다음 마지막에 7미터 지점에서 자르면 요금이 10+4+6=20이 되므로, 앞에서 잘랐던 방법으로 하는 것보다 요금을 줄일 수 있다. 어떤 막대가 주어졌을 때, 최소 절단 요금을 구하는 프로그램을 만들어보자.
  • C언어정복/3월30일 . . . . 1 match
         4. 프로그램 가독성
  • C언어정복/3월30일-숙제 . . . . 1 match
         1. 인치(inch) 단위를 센티미터 단위로 변환하는 프로그램을 사용자에게 입력을 받고, 계산된 값을 출력하라. (1in = 2.54cm)
  • D3D . . . . 1 match
         3D를 이용한 오락 만들기. [[BR]]
  • DataCommunicationSummaryProject/Chapter9 . . . . 1 match
          * 홈테트워킹을 위해서 싸고 간단한 네트워킹을 만들기로했다.
  • DataStructure . . . . 1 match
          ''하지만, 이는 기존 70,80년대 Structured Programming에서 보는 프로그램의 상당히 제한적인 시각이다.''
  • Debugging/Seminar_2005 . . . . 1 match
         == 디버깅 프로그램 사용방법 시연 ==
  • DermubaTriangle . . . . 1 match
         더뮤바 사람들이 다른 집에 방문할 때는 자기 집에서 목적지까지 이르는 최단 경로를 따라서 이동한다. 이때 최단 경로는 그 두 집을 연결하는 직선 거리를 의미한다. 집의 번호가 주어졌을 때 그 두 집 사이의 최단 경로의 길이를 계산하는 프로그램을 만들어보자.
  • DesktopDecoration . . . . 1 match
          Yahoo가 사들인뒤로 무료로 배포되는 위젯 프로그램. 최초에 나온후로 Mac이 배껴서 MacOSX에 고대로 넣어버린 그 기능이다. 각각의 윗젯들은 독립된 프로세서로 인식되며 Konfabulator 가 관리를 하는 그런 식이다. 따라서 위젯에 따라서 자치하는 메모리의 양이나 리소스가 천차만별이다.
  • DevCppInstallationGuide . . . . 1 match
         └'''기본언어로 설정'''을 해주면 선택사항이 고정됩니다. 프로젝트 이름은 프로그램 이름이라고 생각하면 됩니다.
  • DevelopmentinWindows/APIExample . . . . 1 match
         = 윈도우즈 API를 이용한 예제 프로그램 =
  • Direct3D . . . . 1 match
         ( 참고로 자신이 생성한 객체를 릴리즈하지 않으면, 프로그램 종료시 에러를 낸다. )
  • DirectDraw/APIBasisSource . . . . 1 match
         자꾸 치기 귀찮은 윈도우즈 기본으로 만들기!
  • DoWeHaveToStudyDesignPatterns . . . . 1 match
         우선 효율성과 순서의 문제입니다. DesignPatterns는 이미 해당 DesignPatterns를 자신의 컨텍스트에서 나름대로 경험했지만 아직 인식하고 있지는 않는 사람들이 공부하기에 좋습니다. 그렇지 않은 사람이 공부하는 경우, 투여해야할 시간은 시간대로 들고 그에 비해 얻는 것은 별로 없습니다. 어찌 보면 아이러니칼하지만, 어떤 디자인 패턴을 보고 단박에 이해가 되고 "그래 바로 이거야!"라는 생각이 든다면 그 사람은 해당 디자인 패턴을 공부하면 많은 것을 얻을 겁니다. 하지만, 잘 이해도 안되고 필요성도 못 느낀다면 지금은 때가 아니라고 생각하고 책을 덮는 게 낫습니다. 일단은 다양한 프로그램들을 "처음부터 끝까지" 개발해 보는 것이 중요하지 않나 생각합니다. (see also [WhatToProgram])
  • DocumentObjectModel . . . . 1 match
         대부분의 XML파서들 그리고 XSL 처리기들은 트리구조를 사용할 수 있도록 개발되었다. 그러한 구현물들은 메모리 안에서 문서의 전체 내용이 파싱되고 저장되는 것이 필요했다. 따라서 DOM은 임의로 접근하고 다루어 질 수 있는 document 요소를 가지는 응용프로그래에서 사용하기좋다. XML기반의 응용프로그램들이 한번 파싱을 할때 읽거나, 쓸수 밖에 없기 때문에 DOM은 메모리 상에서 상당한 오버헤드적 요소를 가지고 있다. SAX 모델은 속도, 메모리의 비효율성 면에 있어서 이점을 가진 모델이다.
  • DrawingToy . . . . 1 match
         MFC를 익히기 위해 [강희경]이 고안해낸 프로그램.
  • Eclipse . . . . 1 match
         ||Ctrl+Space ||자동완성. 퀵픽스에 버금가는 사기 기능. 내가 무슨 기능을 쓸 수 있는지 자바독과 함께 보여주며 엔터만 치면 구현을 끝내주는 역할을 한다. 혹자는 퀵픽스와 자동완성, 그리고 JUnit만 있으면 어떤 프로그램이든 만들 수 있다고 한다.||
  • EffectiveSTL/Container . . . . 1 match
          * 하지만 ... 부분에서 예외가 터져서 프로그램이 끝나버린다면? 또다시 Detected Memory Leaks!
  • EightQueenProblem2Discussion . . . . 1 match
         놓인 자리를 알려주고 끝난다.) 이 적은 것을 토대로 코딩을 하였고 처음 여왕은 0,0에 놓았습니다. 생각한대로 코딩을 했다고 생각하고 실행을 하자 무한루프를 돌았습니다. 전 처음 여왕이 어느 위치에 놓이던간데 거기에 맞는 답이 있는거라고 생각했는데 그것이 잘못되었다고 생각합니다. 처음부터 이 문제의 답을 알고있었다면 프로그램을 짜는데 좀더 간결한 코드를 짤수있었을텐데 란생각이 들어서 코딩을 멈추고 종이를 꺼내 문제를 풀기 시작했습니다. 하지만 답은 나오지않았고 제가푸는방식(여왕을 먼저 아무위치에나 놓고 그위치에 맞게 가로세로대각선에 없는 곳에 놓는다)을 그냥 코딩을 하였습니다. 처음 여왕의 위치를 8*8에 돌아가면서 놓고 검사를 하였습니다. 무식하긴하지만 답은 나왔습니다. 두번째 과제는 처음 코딩할때부터 판의 크기와 여왕의 숫자를 define해서 썻기 떄문에 숫자만 바꾸어 주었습니다. 하지만 답이 맞는지 확신이 서지 않습니다. 그이유는 이문제의 대한 알고리즘을 모르기 때문이라고 생각합니다. 그리고 c++을 썻는데 방학동안 쭉 자바로 플밍하다가 c++을 쓴이유가 비주얼툴의 디버깅을 이용하려는 생각이었는데 무슨문젠지 디버깅을 할수없어서 참 난감했습니다. 디버깅하면 금방알수있는 문제를 눈으로 차근차근 훓으면서 봐야했습니다. --최광식
  • EightQueenProblemSecondTry . . . . 1 match
         이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 한번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔한 해답을 얻으려고 노력하면서 말이죠.
  • ErdosNumbers . . . . 1 match
         주어진 논문과 논문 저자를 바탕으로 에르되시 수를 계산하는 프로그램을 만들어야 한다.
  • EventDrvienRealtimeSearchAgency . . . . 1 match
          * 그러면 해당 서버에 있는 EDRSA 들은 해당 웝에 대한 모니터링을 신청한 각 사용자들에게 각 사용자들이 입력한 키워드에 따라서 해당되는 내용들만 해당 사용자의 클라이언트 프로그램에 전송해준다.
  • ExtremeBear . . . . 1 match
          * ["ExtremeBear/VideoShop"] - 비디오샵 프로그램 프로젝트
  • ExtremeBear/OdeloProject . . . . 1 match
          비디오 샵 관리 프로그램을 좀 길게 여유롭게 생각해보면서 해보도록 하였다.
  • ExtremeBear/VideoShop/20021105 . . . . 1 match
          * CRC 를 사용했고 프로그램의 대부분은 완성했다.
  • Factorial . . . . 1 match
         == Factorial을 구하는 프로그램을 작성한다. ==
  • Factorial2 . . . . 1 match
         임의의 수 A 에 대한 Factorial 을 구하는 프로그램을 작성하시오. (A 는 20이상이 될 수 있습니다.)
  • Fmt . . . . 1 match
         fmt라는 유닉스 프로그램은 텍스트를 읽어온 다음 적당히 연결하거나 끊어서 모든 행의 길이가 72글자는 넘지 않지만 최대한 72글자에 가까운 출력 파일을 만들어낸다. 행을 연결하거나 끊을 때는 다음과 같은 규칙을 따른다.
  • FortuneMacro . . . . 1 match
         Fortune 매크로 플러그인은 GNU fortune프로그램을 이용한 매크로입니다.
  • FreeMind . . . . 1 match
         == 프로그램 ==
  • FromCopyAndPasteToDotNET . . . . 1 match
          * 예제 프로그램
  • FromDuskTillDawn . . . . 1 match
         두 도시가 주어졌을 때 최단 경로를 찾는 프로그램을 만들어서 블라디미르가 최소한의 피만 챙겨서 여행할 수 있도록 도와주자. 피를 너무 많이 가지고 다니면 사람들이 "그 피 가지고 뭘 하실 건가요?" 같은 질문을 하면서 의심할 수도 있기 때문이다.
  • GDBUsage . . . . 1 match
         해당 인자값을 구조 프로그램이 실행된다. 브레이크 포인터 설정을 통해서 진행을 중지하는 것이 가능하다.
  • Gnucleus . . . . 1 match
         그누텔라 프로토콜에 기반을둔 윈도우용 프로그램. 다른 그누텔라 구현물과 비교하여 특별한 기능상의 장점은 없지만...
  • Gof/Command . . . . 1 match
         MyClass의 instance로 있는 Action을 호출할 command를 만들기 위해서, 클라이언트는 단순히 이렇게 코딩한다.
  • Gof/Composite . . . . 1 match
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Gof/State . . . . 1 match
         대부분의 대중적인 상호작용적인 드로잉 프로그램들은 직접 조작하여 명령을 수행하는 'tool' 을 제공한다. 예를 들어, line-drawing tool 은 사용자가 클릭 & 드레그 함으로서 새 선을 그릴 수 있도록 해준다. selection tool 은 사용자가 도형을 선택할 수 있게 해준다. 보통 이러한 툴들의 palette (일종의 도구상자 패널)를 제공한다. 사용자는 이러한 행동을 'tool을 선택한 뒤 선택한 tool을 이용한다' 라고 생각한다. 하지만, 실제로는 editor 의 행위가 현재 선택한 tool로 전환되는 것이다. drawing tool 이 활성화 되었을 때 우리는 도형을 그리고 selection tool 이 활성화 되었을 때 도형을 선택할 수 있는 식이다. 우리는 현재 선택된 tool 에 따른 editor 의 행위를 전환시키는 부분에 대해 StatePattern 을 이용할 수 있다.
  • Googling . . . . 1 match
         구글로 만든 장난감 프로그램들이 많이 있다.
  • Hacking/첫번째과제 . . . . 1 match
         == 방명록 만들기 ==
  • HanoiProblem . . . . 1 match
         재귀함수가 사용되는 대표적인 예 몇가지를 보여줍니다. 재귀함수 사용에도 그 종류가 다른데, 대표적인 종류들을 보여주는 것이 중요합니다. "아, 재귀함수라는 것이 이렇게도 사용될 수 있구나!" 퍼뮤테이션/콤비네이션, 피보나치수열, 트리검색, 팩토리알, 조건문과 재귀호출로 반복문(while) 만들기 등이면 충분하지 않을까 합니다.
  • HanoiProblem/영동 . . . . 1 match
         end main ;프로그램 종료
  • HardcoreCppStudy . . . . 1 match
          * 이번주 담당자의 사정으로 쉽니다. 숙제로 두번째 숙제에 있는 성적정렬프로그램 짜오세요. 교재로 공부해서.
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 1 match
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
  • HardcoreCppStudy/두번째숙제/ConstructorAndDestructor/변준원 . . . . 1 match
         전역적으로 선언되어서 생성된경우는 프로그램이 종료시에 호출됩니다.
  • HardcoreCppStudy/첫숙제 . . . . 1 match
          * 마방진 만들기 // 데블스 캠프 참가자와 불참가자간의 균형을 맞추기 위해 함. 마방진을 풀 수 있는 사람은 랜덤워크도 해볼것. 일단 배열 동적할당은 안 해도 되고 5*5칸으로 해도 됨.
  • HelloWorld . . . . 1 match
         '''Hello, World!''' 라는 문자열을 출력하는 프로그램은 대부분의 언어를 배우는 첫걸음이 되어준다.
  • HelpContents . . . . 1 match
          * ["새페이지만들기"] - 새 페이지를 여는 방법
  • HelpForBeginners . . . . 1 match
         누구나 어떠한 페이지라도 고칠 수 있으며, 페이지간의 보다 손 쉬운 연결, 쉬운 서치환경, 그리고 현 위키에 있지 않는 페이지에 대해 새로운 페이지를 만들기 쉬운 어포던스를 제공합니다.
  • HelpOnCvsInstallation . . . . 1 match
         모니위키 본체 프로그램에 대한 번역 메시지.
  • HelpOnInstallation . . . . 1 match
          * 윈도우즈 사용자의 경우는 아파치 웹서버를 제외한 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
  • HelpOnPageCreation . . . . 1 match
         == 페이지 만들기 ==
  • HereAndNow . . . . 1 match
         소스안에서 중복이 훤히 보이나 수정은 안하는 실정.. 항상 프로그램 다짜고, 리펙토링이나 해야지.. 라고 말하곤 한다. '이놈의 숙제만 없어도.'라고 입버릇 처럼 중얼거리나, 숙제가 없어진다고 리펙토링을 할까?
  • HowBigIsIt? . . . . 1 match
         이안이 캘리포니아로 이사를 가기 위해 짐을 싸고 있는데, 지금까지 모은 원도 포장해야 한다. 일련의 원이 주어졌을 때 그 원들을 모두 집어넣을 수 있는 가장 작은 직사각형 상자의 크기를 구하는 프로그램을 만들어야 한다.
  • HowBigIsIt?/하기웅 . . . . 1 match
         그래서 열심히 팩토리얼을 이용하여 모든 경우를 계산하는 프로그램을 만들었음~~
  • HowManyFibs?/1002 . . . . 1 match
          * 그럼에도 불구하고.. '정말 big integer 만들기' 문제였을까? 다시금 고민하게 되다.
  • ImmediateDecodability . . . . 1 match
         각 그룹에서 프로그램은 그룹의 코드들이 직접 해독 가능성이 있는지를 결정하고, 주어진 그룹 번호와 그룹의 직접 해독 가능성 여부를 한 줄씩 출력한다.
  • InnoSetup . . . . 1 match
         [NSIS] 처럼 무료로 쓸 수 있는 또하나의 인스톨러 프로그램
  • IntegratedDevelopmentEnvironment . . . . 1 match
         종종 일반 Text editor가 너무나 많은 기능을 제공하는 나머지 IDE랑 헷갈리기도 한다. vim의 plugin을 깔거나 sublime을 잘 설정하면 IDE부럽지 않게 사용할수 있으나 해당 프로그램은 기본적으로 TextEditor이다. plugin을 통해서 지원하는 기능은 사실상 통합된 기능이라 보기 어렵기 떄문이다.
  • JTDStudy/두번째과제/장길 . . . . 1 match
          t.setName("애플릿 내에서 창 만들기");
  • JTDStudy/첫번째과제/원명 . . . . 1 match
         특정 포지션의 숫자를 얻어오기 위한 반복 부분들 발견, 특정 포지션을 얻어오는 함수 만들기
  • JTDStudy/첫번째과제/장길 . . . . 1 match
          * 테스트를 작성하며 느낀거지만 이건아니라는 생각이 자꾸만 드는 이유는 멀까요? ㅋㅋ 테스트를 이렇게 작성해도 돼는건지 모르겟네요... 프로그램도 좀 이상한거 같고... 괸히 삽질만 많이한거같은 생각이.... 흠 객체지향 개념을 다시한번 살펴봐야 겠다는 생각이 자꾸만 드네요... -장길-
  • Java/SwingCookBook . . . . 1 match
         창 만들기 전 한줄 추가.
  • Java/문서/참조 . . . . 1 match
         채팅 UI를 짜려고 여러가지를 하다가 대화명을 입력하였을 경우에 그 대화명을 저장하려고 String 형태의 대화명을 전달인자로 사용하려고 하였는데 되지 않았다. 그래서 MSN을 통해서 상민이 형에게 그에 대해서 물어보았다. 상민이형이 MSN으로 몇십분에 걸쳐서 알려 주었다.(감사~) 이 문서에 나와 있는 내용에 대해서 아시는 분들도 있겠지만, 저와 같이 잘 모르는 분도 또한 있을거 같기에 도움이 되기를 바라면서 상민이 형이 알려준 내용을 간추려 보았다.
  • JavaScript/2011년스터디/7월이전 . . . . 1 match
          * 정말로 간만에 javascript 스터디를 시작했습니다ㅠ 전에 하던 json2.js 분석(읽기?)을 하는데 전에 하던것이 기억이 안나서 고생했습니다. javascript의 새로운 과제로는 Dongeon and Dragon!!(가명)이라는 게임을 만들기로 했습니다. javascript외에도 HTML이라던가 CSS등의 것들도 기억이 나질 않아서 지워저 버린 기억을 복구하는 것을 우선시 해야겠습니다. - [박정근]
  • JavaScript/2011년스터디/서지혜 . . . . 1 match
         /* 클래스 만들기 */
  • JavaStudy2002/해온일 . . . . 1 match
          * 세연 : 평소의 프로그램이 하던것과 달라서 신기하다. 이것이 좋은 방법인지 모르겠다.
  • JavaStudy2003 . . . . 1 match
          * 집에와서 해보는데 기억이 안나요 <(;ㅁ;)> 어제 했던 "Hello, World!"프로그램 한번만 다시 올려주심 안될까요..-[선희]
  • JavaStudy2003/두번째과제 . . . . 1 match
          * 이번 과제의 목표는 '''"자바와 친해지기"''' 입니다. 저번 수업에서 간단히 자바의 OOP문법을 설명해 드렸는데요. 그 밖의 소스나 아니면 참고자료, 책 등을 사용해서 간단한 프로그램을 만들도록 하겠습니다.
  • JavaStudy2004/MDI . . . . 1 match
          * MDI를 처리할 수 있는 구조 만들기
  • JavaStudy2004/클래스 . . . . 1 match
         === 인간 클래스 만들기 ===
  • KIV봉사활동 . . . . 1 match
          * 김준석(총무) : 한과, 약, 연수기, 프로그램 셋팅
  • KentBeck . . . . 1 match
         ExtremeProgramming의 세 명의 익스트리모 중 하나. CrcCard 창안. 알렉산더의 패턴 개념(see also DesignPatterns)을 컴퓨터 프로그램에 최초 적용한 사람 중 하나로 평가받고 있다.
  • LC-Display . . . . 1 match
         한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
  • LIB_2 . . . . 1 match
         이 프로그램이 복귀 가능하게 만들 경우 TSR을 이용한다..근데 지금은 필요 없는듯...
  • LIB_3 . . . . 1 match
         우선 내가 만든 프로그램에서 스케줄링을 담당하는 큐는 대략
  • LUA_3 . . . . 1 match
         조건문은 조건에 따라서 프로그램의 흐름을 바꾸는 역할을 합니다. 예를 들면 어떤 값이 1 보다 크면 A 라는 명령을 그렇지 않으면 B라는 명령을 수행 하도록 합니다. 대표적으로 if 문을 들 수 있습니다. 지금부터 루아의 제어문을 살펴 보겠습니다.
  • LinkedList . . . . 1 match
         || 희경 || ["LinkedList/학생관리프로그램"] || C ||
  • Linux . . . . 1 match
         리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
  • LinuxServer . . . . 1 match
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
  • LispLanguage . . . . 1 match
         [1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소한의 기능을 제공하는 인터프리터.
  • MFC Study 2006 . . . . 1 match
          || 11월 9일 || API나 MFC를 이용하여 윈도우 창을 띄우고 x by x 의 보드를 그리는 프로그램 ||
  • MFC/AddIn . . . . 1 match
         VSC++에는 IDE에 붙여서 프로그램 개발 환경의 기능을 향상시키는 다양한 애드인 들이 있다.
  • MFC/Control . . . . 1 match
         || 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
  • MFC/Print . . . . 1 match
         || m_bDocObject || 응용프로그램이 lPrint 인터페이스를 통하여 출력하면 TRUE로 설정되며, 그렇지 않은 경우에는 FALSE이다. ||
  • MFCStudy2006/1주차 . . . . 1 match
          * '''3팀으로 나눠서 파트별로 프로그램 짜기.''' (제비뽑기로 결정.ㅜㅜ;)
  • MFCStudy2006/Server . . . . 1 match
          * 메신저를 만들기 위한 Server구현
  • MFCStudy_2002_2 . . . . 1 match
          열심히 해서 훌륭한 프로그램을~ ㅋㅋㅋ... -상욱["whiteblue"] [[BR]]
  • MagicSquare/동기 . . . . 1 match
          cout<<"마방진 작성 프로그램입니다. 홀수를 입력하세요 >> ";
  • Memo . . . . 1 match
          // 이것은 프로그램이 socket과 연결할 정보를 담고있다.
  • MemoryUsageInJava . . . . 1 match
         자바로 작성된 프로그램에서 사용된 메모리 크기 측정. 외부에서 import 된 모듈에서 사용하는 메모리도 측정되는지는 잘..-_-a
  • Minesweeper/이도현 . . . . 1 match
         이번에는 처음으로 Presentation Error를 여러번 받았다. 이것은 프로그램이 도출하는 답은 맞으나 출력형식이 잘못된 경우 발생한다.
  • ModelViewPresenter . . . . 1 match
         C++, Java 의 다음 세대 프로그래밍 모델. Smalltalk 의 고전적인 MVC 프로그래밍 모델에서 나왔으며, 다양한 번위의 어플리케이션과 컴포넌트 개발 테스크를 위한 강력하면서 이해하기 쉬운 디자인 방법론. 이 개념의 framework-based 구현물은 MVP 를 em쓰는 개발 프로그램에 훌륭한 가치를 더해준다. MVP는 또한 다중 client/server 나 multi-tier 어플리케이션 아키텍쳐에도 적합하다. MVP 는 IBM 의 대부분의 OO Language 환경들에 대해 단일한 개념의 프로그래밍 모델을 제공해 줄 수 있을것이다.
  • MoreEffectiveC++/C++이 어렵다? . . . . 1 match
          [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-fe2478216366d160a621a81fa4e3999374008afa Item 24 Virtual 관련], [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-ce86e4dc6d00b898731fbc35453c2e984aee36b8 Item 32 미래 대비 프로그램에서 String문제]
  • MoreEffectiveC++/Operator . . . . 1 match
         수많은 개발자들이 이런 단순한 원리를 프로그램 상에서의 짧은 진행(short-circuit)을 추구하는데 사용하였다. 그렇다면 C++에서의 객체들에게 operator ||, && 를 overload 시키면 짧은 진행을 추구하는데 도움이 되지 않을까? 그런데 하지 말라니 왜일까? [[BR]]
  • MultiplyingByRotation . . . . 1 match
         프로그램은 이동 곱셈속성을 갖는 숫자중 가장 작은 첫 번째 숫자의 자리 개수를 출력한다.출력 파일도 텍스트파일로 한다. 입력되는 데이터순서에 맞추어 결과를 한 줄씩 출력한다.
  • NSIS/예제3 . . . . 1 match
          ; 윈도우 프로그램추가/삭제 관리자를 위한 Uninstall 관련 key를 레지스트리에 저장
  • NumericalAnalysisClass/Exam2002_1 . . . . 1 match
          * 실제 구현부분은 프로그램 레포트가 대체해주므로, 이론/구현 평가에 대해서는 적절하다고 생각됨. --석천
  • NumericalAnalysisClass/Report2002_1 . . . . 1 match
         Cubic Spline 함수를 계산하기 위해서는 Tri-Diagonal Matrix 에 대한 해를 구할 수 있어야 한다. 다음과 같이 주어진 Tri-Diagonal Matrix 시스템의 해를 계산하는 프로그램을 작성하시오.
  • NumericalExpressionOnComputer . . . . 1 match
          불과 몇 십년전만해도 컴퓨터 학자들은 2진수의 표현보다 10진수의 표현이 더욱 정확하다고 생각했었기 때문에, 특정 정확성을 필요로하는 프로그램에서는 10진수로 데이터를 계산하기도 했다고 함. but 그러나 10진수가 2진수의 표현에 비해 정확하다고 하는 것은 사실이 아니며, 실제로 2진수의 표현법이 더욱 정확한 계산을 보장한다고 함.
  • OOD세미나 . . . . 1 match
          * 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질문도 했었는데, 형은 if문 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if문 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복문을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 '''“단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.”''' 라는 말과는 거리가 한 참 멀어지더라구요;; 예측은 가능한데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때문에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
  • OOP . . . . 1 match
          * [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 한 가지에 해당된다고 할 수 있다. : 정보문화사 컴퓨터 용어사전 발췌)
  • ObjectWorld . . . . 1 match
          * Framework - 특정 Domain 과 관련한 모듈을 만들기 위한 library
  • Omok/상규 . . . . 1 match
         === 프로그램 소스 ===
  • OurMajorLangIsCAndCPlusPlus/print . . . . 1 match
         printf와 유사한 print 함수 만들기
  • PC실관리프로그램 . . . . 1 match
          == PC실관리프로그램 ==
  • PHP Programming . . . . 1 match
         [혜영생각] 우리홈만들기에서 홈페이지 안에 카운터나 게시판을 넣고 싶어서. 내가 만든 것으로 내 홈을 꾸미고 싶어서... [[BR]]
  • PPProject/Colume2Exercises . . . . 1 match
         다소 여유를 가지고 PairProgramming 을 했다. 혼자 할때보다 문제 파악이 잘 되었고 뭔가 탁 트인 느낌이 들었다. 아쉬운 점이라면 문제 해결에 너무 매달려서 리펙토링을 게을리한 결과 우아한 프로그램을 완성하지 못했다. 늘 그렇듯이 역할에 맞는 변수명 붙이기는 어렵다. 짧았지만 흥미진진한 시간이었다.
  • PairProgrammingForGroupStudy . . . . 1 match
         이렇게 pairing을 할 수 있겠죠. 역시 아까와 동일한 태스크를 수행합니다. 대신 좀전 pairing에서 얻은 지식을 기반으로 좀 더 나은 프로그램을 새로 작성하는 겁니다. 각자 이전 경험이 다르므로(다른 사람과 짝짓기를 했으므로) 둘이 협력하면 서로 가르쳐 주고 배우면서 시너지 효과를 낼 수도 있습니다.
  • Parallels . . . . 1 match
         요즘에는 이 프로그램이 [http://www.xprogramming.com/xpmag/whatisxp.htm#small eXtremeProgramming] 으로 완성된 제품으로 꽤나 알려졌나보다. ( [http://fribirdz.net/506 관련 블로그] )
  • PluggableSelector . . . . 1 match
         확장성 : 한 오브젝트마다 최대 두번까지만 쓰자. 더 많이 쓰면 프로그램의 의도가 흐려진다. 더 많이 쓰고 싶으면 State Object를 쓰는 법이 있다.
  • PowerOfCryptography/조현태 . . . . 1 match
          cout << "결과값에 1을 입력할경우 프로그램이 끝납니다.\n";
  • PowerOfCryptography/허아영 . . . . 1 match
         범위지정과 [PowerOfCryptography/Hint]를보고 ver 3을 만들기로 했다..
  • PragmaticVersionControlWithCVS/Getting Started . . . . 1 match
         상기의 경우에는 2가지 프로그램의 바뀐 부분이 동일한 줄에 해당하지 않기 때문에 큰 문제없이 cvs가 알아서 반영을 해주었다. 그렇나 만약 변경부분이 동일한 부분이라면 어떨까?
  • PrimaryArithmetic . . . . 1 match
         초등학생들이 여러 자리 수의 덧셈을 배울 때는 한 번에 한 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어한다. 일련의 덧셈 문제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 한다.
  • PrimaryArithmetic/Leonardong . . . . 1 match
         이렇게 놓고 보니 수식과 비교해 이름을 잘못 지은 부분이 눈에 보인다. 아무튼 전단계 캐리를 구하는 부분을 그냥 작성하느라 흐름을 타지 못했다. 잘 돌아가는 프로그램을 만들었지만, 머리 속에 함수 재귀 호출을 계속 떠올리고 있었다. 수식이란 메타포가 있었는데도 구현을 하는데 메타포를 코드와 연결시키는데 오래 걸렸다. 아니 메타포를 생각하고 구현한 것이 아니다. 중복을 없애다 보니 그제서야 수식이 눈에 들어왔다.
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 1 match
         b) 일반적으로 서브프로그램의 파라메터 전달시 참조유형으로 전달해야하는가를 묻는 문제.
  • ProgrammingLanguageClass/Report2002_1 . . . . 1 match
          * 프로그램 소스코드 및 실행파일이 든 디스켓
  • ProgrammingPearls/Column1 . . . . 1 match
         이것의 수행시간은 Θ(n)이다. 이 챕터는 문제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 문제 정의는 문제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
  • ProgrammingPearls/Column6 . . . . 1 match
          * 어떤 프로그램이 1년 걸렸었는데 단계별로 쪼개서 튜닝을 했더니 하루만에 되더라하는 내용이 씌어있다.
  • ProjectAR/ThinkAbout . . . . 1 match
         == 프로그램의 핵심적 요소들 ==
  • ProjectAR/기획 . . . . 1 match
          있을껀 있어야 하겠지만 직접 입력이 되야 하는 데이터를 줄이자는 이야기이죠^^; 어떤 공식을 따라 계산이 되고 기본적인 데이터만 가진다면 프로그램 하는데 있어서 더욱 편하지 않을까 하네요 -[상욱]
  • ProjectPrometheus/AcceptanceTest . . . . 1 match
          * 테스트 프로그램 소스 열기 링크 추가.
  • ProjectPrometheus/AcceptanceTestServer . . . . 1 match
         Acceptance Test 환경 만들기 - Python 으로 작성. 165.194.17.55 에서 AcceptanceTest 웹서버 돌리기.
  • ProjectPrometheus/Iteration2 . . . . 1 match
         || 임의의 Data set 만들기 || 0.5 || ○ (30분) ||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
         또는 웹 필터 프로그램인 Proxomitron 을 이용할 수도 있다. (http://proxomitron.cjb.net/) 개인적으로는 webdebug 가 더 해당 폼 값/헤더 값만 보기엔 편했던걸로 기억.
  • ProjectPrometheus/개요 . . . . 1 match
         전부 다 만들기엔 시간과 용기가 부족한 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
  • ProjectSemiPhotoshop/Journey . . . . 1 match
          * 상민이와 한 프로그램의 스타일이 달라서 나중에 세미 포토샵을 공동을 작업할 때에는 어느 정도 비슷하게 맞춰야할 것으로 보여..-.ㅡ 아직 뭘 모르는 나의 눈에는 그렇게 보였음.
  • ProjectSemiPhotoshop/계획서 . . . . 1 match
          * 다음일정 까지 해올 시험 프로그램 임무 부여
  • ProjectSemiPhotoshop/기록 . . . . 1 match
          * 다음일정 까지 해올 시험 프로그램 임무 부여
  • ProjectVirush . . . . 1 match
         로그인 클라이언트 로그인, 가입화면 만들기 1.5
  • ProjectVirush/Prototype . . . . 1 match
          // 이것은 프로그램이 socket과 연결할 정보를 담고있다.
  • ProjectWMB . . . . 1 match
         ||▶▶▷▷▷ || 페이지 만들기 ||
  • ProjectZephyrus/Thread . . . . 1 match
          ''혼자서 플밍할때에도 자주 발생하는.. ^^ 다른 프로그램들 플밍하다가도 비슷한 패턴의 코드들이 많이 보여서 그런 건 따로 utility class 식으로 디렉토리 따로 두고 관리하고 했었죠. 프로젝트 진행중에는 다른 사람들 소스를 지속적으로 같이 봐 나가면서 생각해야겠군요. CVS 로 한곳에 소스를 모으면 도움이 될 것이라 생각. --석천''
  • ProjectZephyrus/ThreadForServer . . . . 1 match
         이 아주 간단하고 단순한 프로그램을 수행하기 위해서 아래의 두가지 라이브러리가 필요 하다. 다운 받아서 클래스 패스에 잡아 놓기 [[BR]]
  • ProjectZephyrus/간단CVS사용설명 . . . . 1 match
          내컴퓨터->등록정보->고급->환경변수->새로만들기(N)
  • PyIde/SketchBook . . . . 1 match
         Python 으로 HTML Code Generator 를 작성하던중. 좀 무식한 방법으로 진행했는데, 원하는 HTML 을 expected 에 고스란히 박아놓은 것이다. 이는 결과적으로 test code 를 네비게이팅 하기 어렵게 만들었고, 해당 Generating 되는 HTML 의 추상도도 상당히 낮게 된다. 한화면에 보여야 할 HTML 데이터도 많아야 한다. 이는 결국 내가 에디터 창을 최대로 놓게 만들더니, 더 나아가 에디터 창의 폰트 사이즈을 11에서 8정도로 줄이고 모니터를 앞당겨 보게끔 만들었다. (15인치 LCD 모니터여서 해상도가 최대 1024*768 임.) 해당 상황에 대해 사람이 맞추는 것이 좋을까, 또는 툴의 Viewing 이 도움을 줄 방법이 있을까, 또는 사람이 이를 문제상황으로 인식하고 프로그램 디자인을 바꾸게끔 하는것이 좋을까.
  • PyOpenGL . . . . 1 match
         새 버전의 [PyOpenGL]의 경우 메소드 이름이 약간 바뀌었다. xxxFuncCallback 함수 대신 xxxFunc 식으로 쓰인다. Nehe 의 코드 대신 [PyOpenGL] 인스톨시 같이 인스톨되는 Nehe Demo 프로그램 코드를 이용하기를 권한다.
  • PyServlet . . . . 1 match
         [1002] 가 PyServlet 에서 생각하는 장점이라면, Servlet 의 특징으로, CGI와는 달리 인스턴스가 메모리에 남아있다는 점이다. 간단한 프로토타이핑을 할때 memory persistence 를 이용할 수 있게 된다. ZP 에서의 12줄 이야기와 같은 프로그램을 작성할 수도 있다.
  • PyUnit . . . . 1 match
         === 재사용하는 set-up code : 'fixtures' 만들기. ===
  • REFACTORING . . . . 1 match
          * 프로그램의 내부구조조정. 실제로 해당 코드가 하는 역할은 수정하지 않으면서 내부구조를 더 효율적으로 수정하는 작업. (수학의 인수분해를 생각해볼 것)
  • RandomWalk/ExtremeSlayer . . . . 1 match
         //// 본 프로그램 ////
  • RandomWalk2/TestCase2 . . . . 1 match
         test.exe 는 작성한 프로그램 실행 파일 이름입니다.
  • RandomWalk2/상규 . . . . 1 match
         === 프로그램 소스 ===
  • Randomwalk/조동영 . . . . 1 match
         2차원 동적 배열할때 벡터를 사용해도 좋음. [RandomWalk2/Vector로2차원동적배열만들기] 자료구조 숙제는 [STL]을 사용하면 더 편하게 할수 있는거 같다. - [상협]
  • ReverseAndAdd/황재선 . . . . 1 match
         테스트가 프로그램의 최종 테스트 밖에 없구나. 바로 모든 소스를 만들지는 않았을테고... 테스트 보폭을 줄이는 게 좋을 듯. --재동
  • RonJeffries . . . . 1 match
         왜이리 찔리는지. -_-; 특히 마지막문장.. 프로그래밍을 하다보면 가끔 누구를 위한 프로그램인가를 간과하게 되는 경우가 많게 되는지라서.. ^^;
  • Ruby/2011년스터디/김수경 . . . . 1 match
          * 방을 여러개 만들기
  • SRPG제작 . . . . 1 match
          1. 맵을 편집하는 프로그램. 위에서 만든 타일들을 사용하여 맵을 만든다.
  • STL/VectorCapacityAndReserve . . . . 1 match
         /* 이 프로그램은 STL Tutorial and Reference Guid 2nd 의 */
  • STL/map . . . . 1 match
         === 프로그램의 예 ===
  • STL/set . . . . 1 match
         === 프로그램의 예 ===
  • STL/sort . . . . 1 match
          * 우리는 프로그램 첨 배울때 sort 짜는걸 많이 한다. 수행시간이 θ(n*n)이나 되는 소트를 짜곤 했다.
  • STL/string . . . . 1 match
          * new - char* 로 만든 문자열은 프로그램 사용후 delete 해줘야 되지만, string은 소멸자에서 알아서 해준다. 생산성 증가!
  • SceneDotOrg . . . . 1 match
         Demo Art 의 산실. 이곳에 등록된 용량대비 화려한 프로그램들을 한번쯤 구경해보시길. ;)
  • Self-describingSequence . . . . 1 match
         어떤 값 n이 주어졌을 때 f(n)의 값을 계산하는 프로그램을 만들어야 한다.
  • SimpleDelegation . . . . 1 match
         // 채팅방에서 나가기 위해 호출되어야 할 메소드
  • SimpleDesign . . . . 1 match
         저 원칙은 XP 와 떼어서 생각하기 힘든, TestDrivenDevelopment 에서 더 제대로 적용된다. TestDrivenDevelopment 를 하면 할수록 가장 단순한 것에 대해서 생각하게 된다. 이번에 기사를 쓰기 위해 간단한 프로그램을 같은 문제에 대해서만 5번 정도 풀어보게 되었는데, 풀 때마다 더 간단한 해결책이 보이게 되고, 문제를 더 잘게 나눌 수 있게 되었다.
  • SingletonPattern . . . . 1 match
         프로그램 내에서 오직 하나만 존재해야만 하는 공용 객체에 대한 해결방법. (내용에 대해서는 ["Gof/Singleton"] 참조)
  • Slurpys . . . . 1 match
         스러피(Slurpy)란 어떠한 속성이 존재하는 문자열이다. 문자열을 읽어서 스러피가 존재하는지를 판단하는 프로그램을 작성해야 한다.
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 1 match
         객체들 사이에서 어떻게 책임을 분배하는가는 중요한 결정이다, 인코딩은 그 다음이다. 잘 요소화된 프로그램들의 대부분에서, 오직 하나의 객체만이 한 조각의 정보에 관심을 가진다. 객체는 정보를 직접적으로 참조하고 사적으로 필요한 모든 인코딩과 디코딩을 수행한다.
  • Spring/탐험스터디 . . . . 1 match
          * [Spring Framework 3]로 작지만 유용한 프로그램을 만들어보자!
  • StacksOfFlapjacks/이동현 . . . . 1 match
         여러줄 입력받는걸 만들기 힘들어 일단 그냥 한줄 입력받고 결과출력 하는 식으로 했다.
  • Star . . . . 1 match
         이 열두 개의 줄에서 각각 가장 큰 수를 읽어 들여서 판 위에 있는 수를 모두 더한 값의 최소 값과 최대 값을 구하는 프로그램을 만들어라.
  • TAOCP/BasicConcepts . . . . 1 match
         MIX 프로그램의 예제를 보여준다. 중요한 순열의 성질(properties of permutations)을 소개한다.
  • TAOCP/InformationStructures . . . . 1 match
         오버플로우와 언더플로우가 일어났을 때 어떻게 해야 할까? 언더플로우는 하나의 의미있는 조건 - 에러 상황이 아니라 - 이다. 하지만 오버플로우는 더 들어갈 공간이 없는데 들어갈 정보가 남아있어서 에러이다. 따라서 오버플로우가 생기면 용량한계를 넘어서서 프로그램이 종료한다.
  • TFP예제/WikiPageGather . . . . 1 match
         === 프로그램 개요 ===
  • TabletPC . . . . 1 match
          http://groove.net 참조. 일종의 P2P 프로그램인데 비즈니스 겨냥. 화일공유, 화이트보드, 메모장, 스케줄러, 브라우저 등의 공유가 가능하답니다. 선우형이 소개해주셨는데 잘 만들었더군요. --석천 [[BR]]
  • TddRecursiveDescentParsing . . . . 1 match
          ''먼저 "1"을 넣으면 "1"을 리턴하는 프로그램을 만듭니다. 다음 "314"를 넣으면 "314"를 리턴하게 합니다. 다음엔, "1 + 0"을 넣으면 "1"을 리턴하게 합니다. 다음, "1 + 314"를 넣으면 "315"를 리턴합니다. 다음, "1 + 2 + 314"를 하면 "317"을 리턴합니다. 다음, "1 - 0"을 하면 "1"을 리턴합니다. 다음, "1 - 1"을 하면 "0"을 리턴합니다. 다음, "314 - 1 + 2"를 하면 "315"를 리턴합니다. 다음, "- 1"을 넣으면 "-1"을 리턴합니다. 다음, "( 1 )"을 넣으면 "1"을 리턴합니다. ...... AST는 아직 생각하지 말고 당장 현재의 테스트를 패스하게 만드는데 필요한 것만 만들어 나가고 OAOO를 지키면서(테스트코드와 시스템코드 사이, 그리고 시스템 코드 간) 리팩토링을 지속적으로 합니다 -- 그렇다고 파싱 이론을 전혀 이용하지 말라는 말은 아니고 YAGNI를 명심하라는 것입니다. 그러면 어느 누가 봐도 훌륭한 디자인의 파서를 만들 수 있습니다. DoTheSimplestThingThatCouldPossiblyWork. --김창준''
  • TestDrivenDevelopmentByExample/xUnitExample . . . . 1 match
         C++로 UnitTest프레임워크를 만들기 전에 책에 있는 파이선 예제를 따라하고 있습니다. 따라가는 과정은 책에 있습니다.
  • TheJavaMan/숫자야구 . . . . 1 match
         || 틀 만들기 || 1/13일 4시 || 7피 || 끝냄||
  • TheKnightsOfTheRoundTable . . . . 1 match
         멀린이 점심을 먹으러 나간 사이에 해가 비추는 영역에 들어갈 수 있는 가장 큰 원탁의 반지름을 계산하는 프로그램을 만들어야 한다.
  • TheWarOfGenesis2R/ToDo . . . . 1 match
         == 메인 프로그램 ==
  • Thread의우리말 . . . . 1 match
         [Thread]. 내가 처음으로 [ZeroWiki] 접근하게 되었을때 가장 궁금했던 것중 하나이다. 도대체 [Thread]가 무었인가?? 수다가 달리는장소?? 의미가 불분명 했고 사실 가벼운 수다는 DeleteMe라는 방법을 통해서 이루어지고 있었다. 토론이 펼쳐지는 위치?? 어떤페이지의 Thread의 의미를 사전([http://endic.naver.com/endic.php?docid=121566 네이버사전])에서 찾아보라고 하길래 찾아보았더니 실에꿰다, 실을꿰다, 뒤섞어짜다 이런 의미가 있었다. 차라리 이런 말이었으면 내가 혼란스러워해 하지는 않았을 것이다. [부드러운위키만들기]의 한가지 방법으로 좀더 직관적인 우리말 단어를 사용해 보는것은 어떨까?? - [이승한]
  • ToyProblems . . . . 1 match
          1. 1번에서 고른 나머지 문제를 가능하면 다양한 방법으로 여러번 풀게한다. 각자 몇 개의 전혀 다른 프로그램을 만들어 내는가? 60m
  • TugOfWar . . . . 1 match
          제가 짠 프로그램에도 그렇게 나오는데, 손으로 풀면 4+8, 2+3+7이렇게 되네요 --[강희경]
  • TugOfWar/강희경 . . . . 1 match
         완성시키려면 더욱 더 세련된 알고리즘을 개발하거나, 프로그램이 엄청난 과부하를 갖던지 둘 중 하나
  • UnityStudy . . . . 1 match
         아이폰으로 만들기 위해선 맥이 필요하다는 것을 알게 되었습니다..
  • UniversalsAndParticulars . . . . 1 match
         WardCunningham은 이런 말을 했다. 작지만 유용한 프로그램을 매일 만들어봐라. 복잡하고 큰 걸 만들다 보면 중요한 아이디어가 감추어져 버릴 수 있다.
  • UpgradeC++ . . . . 1 match
          *[UpgradeC++/과제3] 성적관리프로그램
  • VMWare . . . . 1 match
         특정 플랫폼하에서 머신을 에뮬레이팅. 해당 플랫폼 이외의 환경을 구축하는 것을 가능케 하는 프로그램이다.
  • VMWare/UsefulFunctions . . . . 1 match
         VMWare 는 크로스 컴파일링 환경에서 유용한 기능을 몇가지 가지고 있다. 물론 해당 가상 머신에 VMWare Tools 라는 VMWARE 가 제공하는 프로그램을 올렸을 경우에만 작동한다.
  • VendingMachine/세연/1002 . . . . 1 match
         이쯤에서 문제점 - vending_machine 이 완전히 God 클래스입니다. 완전히 이 프로그램 자체가 vending_machine 객체와 동급이 되어버리죠.
  • VisualStudio . . . . 1 match
         VisualC++ 6.0은 VS.NET 계열에 비하여 상대적으로 버그가 많다. 가끔 IntelliSense 기능이 안될때가 많으며 클래스뷰도 깨지고, 전체 재 컴파일을 필요로하는 상황도 많이 발생한다. ( 혹시, Debug Mode에서 돌아가다가, Release Mode에서 돌아가지 않는 경우도 있는데 보통 이는 프로그램에서 실수 태반이다. 그러나 간혹 높은 최적화로 인해 돌아가지 않을때도 있을 수 있다. )
  • VonNeumannAirport/1002 . . . . 1 match
         pass 되었다. 아무래도 한번 미리 짜본 프로그램이여서 그런지 초반에 일반화된 것이 아닐까 하는 생각이 든다.
  • WebGL . . . . 1 match
         위의 코드를 보면 [쉐이더] 프로그램에 fragmentShader와 vertexShader를 Link 시키는 구문인데 주체인 shaderProgram은 첫번쨰 인자이고 gl은 그냥 접두어 처럼 보인다. 저 구문만 그런것이 아니라 다른 모든 함수들이 저 gl 객체에 붙어있다. 하지만 정작 gl이 주체가 아닌 것들이 많다. 따라서 래핑한 객체를 만들어 쓰는 것이 속편한데 어설프게 했다가는 무척 꼬이게 된다.
  • WebService . . . . 1 match
         웹 서버를 통하여 프로그램 인터페이스를 노출하려는 방법
  • WikiStyle . . . . 1 match
          * 사실/조언으로 만들기 어려운 개인적 경험에 대해 쓸 때에는 일인칭을 사용하고 끝에 필명을 붙인다.
  • WinAPI/2011년스터디 . . . . 1 match
         ||WS_MINIMIZE||4.최소화된 상태로 윈도우 만들기 ||
  • WinampPluginProgramming/DSP . . . . 1 match
         기본 뼈대 프로그램은 다음과 같다.
  • WinampPlugin을이용한프로그래밍 . . . . 1 match
          // 이 프로그램은 console mode 기반이다. 그러므로 window 관련 셋팅은 NULL.
  • WindowsTemplateLibrary . . . . 1 match
         WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
  • XOR삼각형 . . . . 1 match
         파스칼의 삼각형에서 덧셈의 기본 연산을 XOR로 치환한 XOR삼각형 만들기
  • XpWeek/20041221 . . . . 1 match
         UserStory와 서버, 클라이언트 프로그램의 진행 방향이 정해졌다. 네트워크 관련 개발과 TDD 진행이 재밌게 이루어졌으면 좋겠다. -- 재선
  • Yggdrasil/가속된씨플플/0장 . . . . 1 match
          * 함수: 자신의 이름을 가지며, 다른 곳에서 이를 호출하거나 실행시킬 수 있는 프로그램의 한 조각
  • ZIM/ConceptualModel . . . . 1 match
          * '''ZIM Control''' : Zimmer 가 사용하는 프로그램 본체
  • ZIM/UIPrototype . . . . 1 match
         UI 그릴때 MS Visio 를 쓰면 편하더군요. 학교다닐때 알았더라면, 수많은 가상 프로그램을 만들어냈을텐데 :) -- 이선우
  • ZP&COW세미나 . . . . 1 match
          * C에서는 프로그램 짜는 것 보다 에러 잡는데 시간이 더 오래 걸리는데, TDD는 덜 걸려서 2학년 1학기 자바 수업에 많이 도움이 될 것 같다.
  • ZP&JARAM세미나 . . . . 1 match
          ps. 아참, 제로페이지의 행사로 소개되었던 "지금그때(?)"라는 프로그램 좋은것 같더라구요. 우리학회에서도 하면 좋겠다 라는 생각을 했어요~
  • ZPBoard/PHPStudy/쿠키 . . . . 1 match
         // 만들기
  • ZPHomePage . . . . 1 match
         레이아웃 아무도 안올리네...카운터만들기는 잘 되는건가...위키는 들어오긴 하는건가...일단 모임은 화요일로... --[곽세환]
  • ZPHomePage/20041228 . . . . 1 match
          * 서버에 테스트계정만들기
  • ZPHomePage/20050103 . . . . 1 match
          * JSP로 카운터 만들기 - 1주일(1/10까지)
  • ZPHomePage/20050111 . . . . 1 match
          * 접속자 정보를 뺀다. => 다음 프로젝트에 일대일 대화기능과 함께 추가
  • ZPHomePage/계획 . . . . 1 match
          * 접속자 정보와 일대일대화
  • ZPHomePage/레이아웃 . . . . 1 match
          성만이가 한 디자인2 쓸 계획이었는데 어쩐담... 새로 만들기 보다는 색상작업이랑 아이콘 만드는거 도와주면 좋겠다 --[곽세환]
  • ZeroPageServer/old . . . . 1 match
         || ["ZeroPageServer/InstalledTool"] || 설치된 프로그램 ||
  • ZeroPage소개 . . . . 1 match
          * ZeroPage는 컴퓨터공학부 내에 있는 학술 동아리로서, 올해 21년째를 맞이 하고 있습니다. ZeroPage에서는 Computer Science&Engineering 전반에 걸쳐 구성원들이 하고자하는 분야를 탐구하고, 프로젝트를 진행하고 있습니다. 또, 매주 정모를 통해 구성원들과 자신의 스터디, 프로젝트 진행사항들을 이야기하고 각종 세미나들을 통해 자신이 알고 있는 것을 다른 사람들과 공유하여 구성원들 모두가 함께 발전해나가고자 하는 동아리입니다. 또한 새싹교실과 데블스 캠프와 같이 동아리 구성원이 아닌 학우들도 함께 참여할 수 있는 프로그램을 통해 함께 발전해나가고자 하고 있습니다.
  • ZeroPage정학회만들기/지도교수님여론조사 . . . . 1 match
         ["ZeroPage정학회만들기"]
  • ZeroPage회칙토론 . . . . 1 match
         페이지를 어설프게 만들었으니 회칙 만들기 토론을 해봅시다
  • ZeroWiki . . . . 1 match
         ["이름짓기토론"]에서 ["0'Wiki"]라는 이름으로 광식(["woodpage"])군이 별뜻없이 쓰고 ["상민"]군이 흥분하는 통에 우리 위키의 이름이 되었으며 NoSmok:WikiName 으로 만들기 위해 ZeroWiki로 ["페이지이름바꾸기"]했다.
  • ZeroWiki/제안 . . . . 1 match
         각 분야의 기술들에 대한 페이지를 열었으면 합니다. OS, 하드웨어, 네트워크등의 카테고리 안에 클러스터링등의 기술들을 말입니다. 각 페이지는 소개하고 싶은 개개인들이 만들고 단순한 소개에서 부터 관심있는 사람들끼리 자료 공유, 토론의 장으로 이용했으면 합니다. 이렇게 하면 스터디 그룹을 만들기가 더욱 쉬워질테고 여러 분야를 폭 넓게 알 수 있을거라 생각합니다.--현철
  • ZeroWiki에서 언어습관 . . . . 1 match
         요즘 제로위키 글을 읽다보면, 전자라서 읽다가 그만두는 경우가 종종 발생합니다. 심하게, '글쓴이가 글이 남에게 읽힐때의 고민이 전무하다' 라고 표현할까요? 읽다 보면, 기존에 쓰여진 글들이 매우 딱딱한 문장이 아님에도 채팅과 같은 글들이 밑에 있어서, 딱딱하게 보입니다. 기말고사 시험지에 써있는 낙서, 생각의 흔적들이랄까요? 묘하게 배치된 글들을 보면서, 시간과 공간의 경험이 서로 다른 사람들의 생각과 글들이 융화되기가 참 힘들다는 생각을 가집니다. --NeoCoin
  • [Lovely]boy^_^/3DLibrary . . . . 1 match
         //////// 단위행렬 만들기 ////////
  • [Lovely]boy^_^/Book . . . . 1 match
         == 효율적인 프로그램을 위한 책 ==
  • [Lovely]boy^_^/Diary/2-2-10 . . . . 1 match
          * XB 진짜로 시작. 재동이가 고객이 되어서, 재동이가 준비해온 네트워크 오델로를 짜기로 했다. 처음에는 기대감에 마구마구 넘쳐서 침을 튀겨가며 얘기를 했지만, 나중에는--; 결국 통합은 실패했다. 기초부터 시작해야 할듯싶다. 하지만 배운것도 많았다. 재미도 있었고.. 글구 혜선이가 고객을 해주기로 했다. 이제 프로젝트가 본격적으로 시작이 된다. 낼부터 2주정도는 간단한 프로그램으로 TDD와 호흡 맞추는데 주안점을 둘 생각이다.
  • [Lovely]boy^_^/Diary/2-2-4 . . . . 1 match
          * 영작 교정 페이지를 만들기 시작했다.
  • [Lovely]boy^_^/Diary/7/15_21 . . . . 1 match
          * 11시에 재동,상협이랑 파이썬 스터디 & 비행기 게임 만들기(뻑났다--;)
  • [Lovely]boy^_^/Diary/7/29_8/3 . . . . 1 match
         || 3D || 프랙탈을 이용한 지형 만들기 || 100%? || 재귀땜에 쫄았는데.. 잘돼서 다행이다 ||
  • [Lovely]boy^_^/Diary/7/8_14 . . . . 1 match
          * 무작정 문제를 풀기보다 소스를 이쁘게 쓰는 연습을 해야 할텐데.. 역시 내굥이 부족하군. 필살 프로그램 모드!
  • [Lovely]boy^_^/USACO/BrokenNecklace . . . . 1 match
          * 테스트 케이스에 맞춰 프로그램 고쳐나가다 보니..;; 점점 더러워졌다는;;
  • comein2 . . . . 1 match
          * 간단한 분산 어플리케이션 만들기 (["코바예제/시계"])
  • eXtensibleMarkupLanguage . . . . 1 match
          * XML은 정말로 굉장히 강력하다. 덕분에 톰캣을 위시한 많은 애플리케이션이 셋업 파일로 XML을 활용하기 시작했다. BUT 크리티컬한 부분에 XML을 소통 데이터로 이용하게 될 경우 해당 부분이 그 프로그램의 performance critical path 가 되는 경우가 발생한다.
  • eclipse단축키 . . . . 1 match
          * 바로 전 실행한 프로그램 실행
  • fnwinter . . . . 1 match
          DDK Virtual Drive Sample 예제 만들기
  • gester . . . . 1 match
         나두 프로그램 만들어보고파요~~
  • html5/geolocation . . . . 1 match
          * 프로그램을 실행하는 디바이스의 위치 정보를 얻기 위한 API
  • html5/outline . . . . 1 match
          * 여러 제목을 묶어 하나로 만들기 위한 {{{<hgroup>}}} 태그 사용가능
  • html5/overview . . . . 1 match
          * 프로그램이 문서의 구조를 파악하기 쉬워짐(HTML 파싱 수월), 가독성 증가
  • html5/web-workers . . . . 1 match
          * 일 대 일 : <워커>, 하나의 워커 객체와 하나의 백그라운드 프로세스가 일대일로 대응
  • lostship . . . . 1 match
         == 프로그램 ==
  • naneunji/Diary . . . . 1 match
         여러사람이 하나의 프로그램을 짠다는것..페어프로그래밍을 한다는것..
  • nautes . . . . 1 match
          * 몸무게 73kg 만들기
  • nilath개인페이지처음화면 . . . . 1 match
         C(Master, 바보 찌질이들은 태클 걸지 말고.) -> Assembly(30% 진행, 일반적 프로그램 크래킹 수준)
  • pragma . . . . 1 match
         C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
  • programmer . . . . 1 match
         제가 표현하고자했던 말은 누구를 프로그래머라고 부를 수 있냐는 것이였습니다. 초보/중급/ 이런건 생각해보지 않았는데, 그렇게도 여길 수 있겠군요. 너무 막막하죠. "프로그래밍 언어를 이용하여서 현재 프로그램을 만들고 있거나 가까운 시일내에 만들 사람" 먼저 간략히 이정도만 정의해놓죠.
  • sibichi . . . . 1 match
          * 아이팟터치 멘토링프로그램(꼽사리)
  • snowflower . . . . 1 match
         ||[PaintBox]||Java로 그림판 만들기|| 2005.12 ||
  • snowflower/Arkanoid . . . . 1 match
          설명서와 PPT는 역시 만들기 어렵다.. 나는 코딩은 할줄 알아도.. 설명서 제작은 -_-;;; 글쓰는 재주를 늘려야 할텐데
  • source . . . . 1 match
         [성적처리프로그램]
  • stuck!! . . . . 1 match
         1차 : 입출력그리고 간단한 변수의 종류에 대해서 공부해보고, 이름과 학번 그리고 원하는 평점을 입력받고 그것을 그대로 출력하는 프로그램을 작성해 본다. 일요일 오후 3시까지 제출해 주세요. 미 제출시 가혹한 벌금이 있습니다ㅋㅋㅋ
  • teruteruboz . . . . 1 match
         에구..위키는 서툴러서요.. 인터넷도 되니..제 페이지를 만들기는 해야겠는데..
  • travelsky . . . . 1 match
          * Diet & 근육 만들기 ㅋㅋ
  • zennith/dummyfile . . . . 1 match
         지정한 크기의 파일을 생성하는 프로그램
  • zennith/ls . . . . 1 match
         진짜, 할일없어 만든 프로그램. 보면 알겠지만.. 만든 이유는 자꾸 도스창에서 ls 라고 타이핑 하게 되서 말이지.. 흐흐
  • ㄷㄷㄷ . . . . 1 match
         두개가 매우 비슷한 기능을 갖기 때문에 같은 내용의 프로그램
  • ㄷㄷㄷ숙제1 . . . . 1 match
         구구단 만들기였다~~~~~~~~~~~
  • 가위바위보/영동 . . . . 1 match
         //가위바위보 승패수 계산 프로그램
  • 간단한C언어문제 . . . . 1 match
          특정 컴파일러에 종속적인 프로그래밍은 좋지 않습니다. C90이라는 표준이 엄연히 존재하니까요. 특정 구현에 종속적인 프로그래밍을 한다고 하더라도, 프로그램의 심장은 표준에 따라 프로그래밍 하는게 좋습니다.
  • 강석우 . . . . 1 match
          * [보드카페 관리 프로그램]
  • 강성현 . . . . 1 match
          * '''강등''' 항목을 만들기 싫다면 빨리 [wiki:정모/2011.4.11 정모]후기를 써라 ㅋㅋㅋㅋ - [김수경]
  • 강희경 . . . . 1 match
          *[http://aragorn.bawi.org/interests/tao_of_programming_(korean).html]프로그램의 도
  • 강희경/메모장 . . . . 1 match
         효과적인 대인관계 노하우 프로그램집 - 서봉연 등
  • 같은 페이지가 생기면 무슨 문제가 있을까? . . . . 1 match
          앞에서도 썼듯 ''페이지를 생성할 때, 검색을 자동으로 해준다. 그래서 검색 결과를 보여주고 페이지를 새로 만들지, 아니면 원래 페이지에 덧붙여서 쓸 지 사용자가 결정하게 한다. 그러다면 검색 결과를 무시하지 않는 한, 중복 페이지가 줄어들지 않을까''라는 생각이 기본입니다. 검색범위를 페이지 이름으로 할지 전체 글을 대상으로 할 지는 생각을 못 해 보았지만요. 페이지를 손으로 고치는 방식을 대체할 것은 생각 못했지만, 제가 생각한 방식은 페이지를 만들기 전에 할 수 있으므로, 페이지를 만들고 나서 해결하는 '''아래에서 위로''' 방식과 혼합해서 쓸 수 있다고 생각합니다. 써 놓고 보니 페이지 이름하고는 빗나간 이야기이긴 하지만 어떻게 손이 한 번이라도 덜 가는 구조를 만들까 하다 보니 이런 글을 썼습니다.-[Leonardong]
  • 걸스패닉 . . . . 1 match
          * 오늘 프로그램에 이미지까지 연동시켜보자.--[강희경]
  • 겨울과프로젝트 . . . . 1 match
         [AOI/2004] : 대회 문제들로 프로그램 내공을 길러본다.
  • 계정만들기 . . . . 1 match
         2. 비번을 널문자로 만들기
  • 고슴도치의 사진 마을 . . . . 1 match
         || [몬테카를로 법을 이용한 pi 구하기 프로그램] ||
  • 고슴도치의 사진 마을처음화면 . . . . 1 match
         [몬테카를로 법을 이용한 pi 구하기 프로그램]
  • 곽세환 . . . . 1 match
          * 네트워크 프로그래밍해서 메신저랑 소리바다 만들기
  • 구구단 . . . . 1 match
         하지만, 이 페이지는 구구단을 출력하는 프로그램에 정의 페이지 입니다.
  • 구구단/유상욱-Scheme . . . . 1 match
         구구단을 scheme으로 만든 프로그램
  • 권영기/web crawler . . . . 1 match
         === 디렉토리 만들기 ===
  • 금고 . . . . 1 match
         이런상황에서 K개의 금고를 가지고 F층이 몇층이던 간에 F층을 알아낼수 있는 최소한의 금고 낙하 획수를 E(N,K)이라 하자. 예를 들어 K = 1이라면 F를 알아내기 전에 금고가 부서지면 안되기 때문에 1층부터 차례대로 올라가면서 금고를 낙하해야 하며 많아야 N번이면 F층을 알아 낼수 있다. 따라서 E(N, 1) = N이다. 건물의 층수를 나타내는 정수 N과 금고의 개수를 나타내는 정수 k가 주어 졌을때, E(N,K)를 계산하는 프로그램을 작성하시오.
  • 김동준/Project/Data_Structure_Overview/Chapter1 . . . . 1 match
         간단한 배열 프로그램의 예
  • 김동준/Project/OOP_Preview/Chapter1 . . . . 1 match
         2. 만들기 방법
  • 김상호 . . . . 1 match
         2010 여름방학 중 쉽게 rpg만들기 에 대해 세미나 진행.
  • 김준호 . . . . 1 match
          # 3월 17일에는 Microsoft Visual Studio 2008 프로그램을 이용하여 기초적인 c언어를 배웠습니다.
  • 김태진 . . . . 1 match
          * ZeroPage 동아리 전용 건물을 만들어 동아리계의 구글(?) 만들기
  • 김희성/리눅스계정멀티채팅 . . . . 1 match
         서버를 기반으로한 로그인 시스템의 다중 채팅. 아이디로 재접속시 퇴장 시점부터 재접속까지의 대화 기록을 보여준다.
  • 김희성/리눅스계정멀티채팅2차 . . . . 1 match
          * 리눅스 멀티 채팅
  • 김희성/리눅스멀티채팅 . . . . 1 match
         서버를 기반으로한 다중 채팅 코드
  • 나를만든책장관리시스템 . . . . 1 match
          * 프로그램 설계중(2006.12.26 11:35)
  • 논문번역/2012년스터디/김태진 . . . . 1 match
          행렬 방정식 Ax=b와 associated(?) 벡터 방정식 x1a1+...+xnan=b는 단지 표기의 문제이다. 그런데, 행렬 방정식 Ax=b는 벡터들의 선형 결합으로 직접 연결되지 않은 방법에서 선형 대수학으로 생길 수 있다. 이것은 우리가 행렬 A를 Ax라고 불리는 새로운 벡터를 만들기위해 곱셈한 벡터 x로 "동작하는" 것으로 생각할 때 일어난다.
  • 데블스캠프2003/셋째날/후기 . . . . 1 match
          * 오늘은 많은 언어를 접해볼 수 있어서 좋았다.. python 과 scheme 글구.. squeete? 암튼 색다른 경험이었다... 모든 프로그램에 있어 창의적인 생각으로 문제를 해결할 수 있었으면 좋겠다.... 6분 남았다.. 아~ 얼른 축구보러 가고 싶다... -- 손동일
  • 데블스캠프2004/목요일후기 . . . . 1 match
         교훈 : C도 흥미로운 프로그램이다
  • 데블스캠프2004/세미나주제 . . . . 1 match
          * 프로그램 설계
  • 데블스캠프2005 . . . . 1 match
         [http://gigamail6.paran.com:8080/gigamail_pop.php?file=/D6/1/20050620/13/09/beonit@paran.com/1119244238_8864_x0.zip&filename=flashmx.zip FlashMX] - [데블스캠프2005/FLASH키워드정리]에서 사용할 플레시 프로그램
  • 데블스캠프2006 . . . . 1 match
         [데블스캠프2006/연습문제] - 각 요일별 연습문제,최종 프로그램 올리는 페이지 입니다.
  • 데블스캠프2006/SSH . . . . 1 match
          * 문제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 한다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
  • 데블스캠프2006/금요일 . . . . 1 match
         프로그램 올리는 곳 - ftp://165.194.17.70:2000/
  • 데블스캠프2006/목요일후기 . . . . 1 match
         집중력이 많이 떨어지기도 했는데요;; (심지어 현태 오빠의 코드레이스 점수판 만들기에 참여..ㄷㄷ)
  • 데블스캠프2006/수요일/연습문제 . . . . 1 match
         == 스택만들기 ==
  • 데블스캠프2006/연습문제 . . . . 1 match
         연습문제 코드나 최종 프로그램 코드 올려주세요^^
  • 데블스캠프2006/월요일/함수/문제풀이/김준석 . . . . 1 match
         == 실미도 함수 만들기 (몸통은 자유) ==
  • 데블스캠프2006/월요일/함수/문제풀이/성우용 . . . . 1 match
         1번 함수만들기
  • 데블스캠프2006/월요일/함수/문제풀이/이차형 . . . . 1 match
         함수만들기
  • 데블스캠프2006/월요일/함수/문제풀이/임다찬 . . . . 1 match
         함수만들기
  • 데블스캠프2006/화요일/tar . . . . 1 match
         요기다가 자기 프로그램 링크시켜주세요~
  • 데블스캠프2006/화요일후기 . . . . 1 match
         나휘동: 프로그램 만들 때 도움이 될만한 도구를 많이 알수 있는 좋은 시간이었습니다. 실습 수준도 적절했네요. 같이 서포트하신 재학생 여러분 수고하셨습니다.~
  • 데블스캠프2009 . . . . 1 match
         각 요일별 연습문제,최종 프로그램 올리는 페이지들
  • 데블스캠프2009/금요일/SPECIALSeminar . . . . 1 match
          * 화면에 100000개의 랜덤한 원을 그리는 프로그램 - 어떻게 검증할 것인가?
  • 데블스캠프2009/수요일 . . . . 1 match
         || 김준석 || 객체 지향 프로그래밍(OOP) || OOP에 대한 개요 이해, 추상화에 대한 개념. OOP 기반의 프로그램 설계를 코드가 아닌 글로 새내기와 함께 해본다. || 문법은 잊고 의사코드를 사용한 설계실습을 해보자 ||
  • 데블스캠프2009/수요일/OOP/서민관 . . . . 1 match
         OOP 과제. 의사코드를 이용한 붕어빵기계와 붕어빵 만들기
  • 데블스캠프2010 . . . . 1 match
          || 6시 ~ 8시 || [김준석] || [RUR-PLE] || [남상혁] || [게임 프로그래밍] || [조현태] || [wiki:PythonLanguage Python] || [김홍기] || [PHP-방명록만들기] || [이덕준] || [스터디그룹패턴언어] ||
  • 데블스캠프2010/Prolog . . . . 1 match
         = 국민 예제 - 가계도 만들기 =
  • 데블스캠프2010/넷째날/후기 . . . . 1 match
          * 자바스크립트가 C언어와 많이 닮은것 같아서 매우 인상깊었습니다. 하지만 저의 C언어 실력이 미숙하여 하는데에 많은 어려움을 겪으면서 많은 생각을 하게 되었습니다. 일단 기본적인 C언어의 문법과 선언하는 함수 등을 자세히 공부하고, 자바스크립트에서의 C언어의 활용 방법을 좀더 연구해야겠다고 생각했습니다. 그리고 자바스크립트를 통해 비쥬얼 스튜디오보다 좀더 편리한 프로그래밍을 할수있어 더 좋은 내용의 프로그램을 만들수있다는 것에 대하여 생각해 보았습니다. 앞으로 좀더 열심히 공부해야겠다고 생각합니다. - [양아석]
  • 데블스캠프2010/첫째날/후기 . . . . 1 match
          * 머라는 건지 잘 못 이해했어요ㅠㅠ 2학년때 자료구조 쫌 배우고 프로그램을 쫌 더 능숙하게 만질 수 있을때... 다시한번 기회가 된다면 들으면 좋을듯해요!!히히 -[박소연]
  • 데블스캠프2010/회의록 . . . . 1 match
         == PHP-방명록 만들기 (강사 : [김홍기]) ==
  • 데블스캠프2011/넷째날/Git . . . . 1 match
         == 재밌는 Shell 명령어 만들기 ==
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 1 match
         // myCmdBase.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
  • 데블스캠프2011/둘째날/Scratch . . . . 1 match
         == 게임 만들기 실습 ==
  • 데블스캠프2012/셋째날/앵그리버드만들기 . . . . 1 match
         = 앵그리버드 만들기 =
  • 데블스캠프2013/둘째날/후기 . . . . 1 match
         = 강성현 / PHP + MySQL로 게시판 만들기 =
  • 동영상처리세미나/2006.08.17 . . . . 1 match
         4. 실습 : 필터 바꿔보기 mirror 프로그램
  • 레밍즈프로젝트/이승한 . . . . 1 match
         프로그램 구조상 오류발견. 500*500정도의 맵에서 단순한 더블 버퍼링의 경우 초당 300만번 정도의 SetPixel이 호출됨-_-ㅋ
  • 레밍즈프로젝트/프로토타입/SetBit . . . . 1 match
         프로그램에 사용되는 맵 타일의 형태가 확정된다면 [레밍즈프로젝트/프로토타입/MFC더블버퍼링]을 확장해 사용 할 것이다.
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 1 match
         || 파일복사 프로그램 || [http://blog.naver.com/kds6221.do?Redirect=Log&logNo=140013999545] ||
  • 로그인하기 . . . . 1 match
         UserPreferences 페이지에서 이름과 패스워드를 적고 Profile 만들기 버튼을 누른다. ChangeYourCss 페이지나 CssMarket 에서 개인 취향에 맞는 스타일 시트를 등록해서 사용하면 더 좋다.
  • 로마숫자바꾸기 . . . . 1 match
         문제 : 두자리 정수를 받아들여 그 숫자에 해당하는 로마 숫자를 출력시키는 프로그램을 작성하여라.
  • 로마숫자바꾸기/조현태 . . . . 1 match
          └어래? 내소스가 다른데서 안돌아 간다는거 몰랐엉.ㅎㅎ 방금 테스트 해봤는데.. .NET이나 6.0 C++ 에서는 돌아가더라고.. 테스트 하는 프로그램이 뭔지좀 알려줘봐..ㅎㅎ 고쳐볼께.ㅎ - [조현태]
  • 로마숫자바꾸기/허아영 . . . . 1 match
         완벽하다고 자부한다. (소스말구요 프로그램 출력..헤헤..^^)
  • 마샬링 . . . . 1 match
         마샬링은 하나 이상의 프로그램 또는 연속되어 있지 않은 저장 공간으로부터 데이터를 모은 다음, 데이터들을 메시지 버퍼에 집어넣고, 특정 수신기나 프로그래밍 인터페이스에 맞도록 그 데이터를 조직화하거나, 미리 정해진 다른 형식으로 변환하는 과정을 말한다.
  • 마케팅천재가된맥스 . . . . 1 match
          * 여기서 제품에는 우리가 만드는 프로그램도 포함된다.
  • 만년달력 . . . . 1 match
          * 원하는 년도와 달을 입력하면 그 달의 달력이 나오는 프로그램.
  • 만년달력/김정현 . . . . 1 match
         = 만년달력 만들기 =
  • 멘티스 . . . . 1 match
         [계정만들기]
  • 몬테카를로법 . . . . 1 match
         몬테카를로법의 특징으로는, 우선 적용하기 쉽다는 점이 있습니다. 실제로 파이의 값을 정확히 구하기 위해서는 무한급수에 관한 지식과 오차범위에 관한 지식 등 다양한 배경 지식을 바탕으로 올바른 알고리즘을 만들어 그 값을 계산해야 하지만, 몬테카를로법은 그런 모든 절차와 관계없이 짧은 컴퓨터 프로그램 몇줄만으로 쉽게, 비교적 정확한 수치를 얻을 수 있습니다.
  • 문서구조조정 . . . . 1 match
         새로 페이지를 만들어주거나, 기존의 스레드 토론에서의 의견, 주장 등의 글들을 요약 & 정리 해줌으로서 해당 주제를 중심으로 페이지의 내용이 그 주제를 제대로 담도록 해준다. 이는 프로그램 기법에서 일종의 ["Refactoring"] 과 비슷한 원리이다.
  • 문자반대출력/문보창 . . . . 1 match
         음 만약에 한글과 같은 확장문자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 문자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장문자를 판단해서 문자열을 뒤집기 전에 "가나"라는 문자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
  • 문자열검색 . . . . 1 match
          문제 : 문자열 x에서 y라는 문자열이 처음 나타난 위치를 검색하여 z에 저장하는 프로그램을 작성하여라.
  • 문자열연결 . . . . 1 match
          문제 : x문자열 끝에 y문자열을 연결시키는 프로그램을 작성하여라.
  • 박성현 . . . . 1 match
          * 안드로이드 이미지 공유 앱 만들기 프로젝트
  • 반복문자열 . . . . 1 match
         문제 : CAUCSE LOVE. 라는 문장을 5번 연속해서 출력시키는 프로그램을 작성하라.
  • 반복문자열/최경현 . . . . 1 match
         // CAUCSE LOVE. 라는 문장을 5번 연속해서 출력시키는 프로그램을 작성하라.
  • 방울뱀스터디 . . . . 1 match
         7월 26일(토) 오전 11시 7피 임시모임. 기본 프로그램의 80%를 목표로 프로그래밍 해봅시다. --재동
  • 병역문제어떻게해결할것인가 . . . . 1 match
          * 이건 보통 워드를 많이 치는 행정병 같습니다. 자대 가서 인사과에 대기할때 인원이 필요하면 타자연습프로그램으로 워드쳐보라 합니다. 기본 300타 이상이면 가능성 있습니다. 밤에 잠 못자구 워드 치는 경우가 많습니다. 요즘은 많이 좋아졌다고 합니다.
  • 보드카페 관리 프로그램/강석우 . . . . 1 match
         [보드카페 관리 프로그램], [강석우]
  • 비밀키/나휘동 . . . . 1 match
         비밀키를 입력받아서 파일에 있는 내용을 암호화 하는 프로그램
  • 빵페이지/도형그리기 . . . . 1 match
         위 도형들을 출력하는 프로그램을 작성하세요
  • 빵페이지/마방진 . . . . 1 match
         가로, 세로, 대각선의 각각의 칸에 들어가는 숫자들의 합이 같은 정사각형 만들기
  • 빵페이지/소수출력 . . . . 1 match
          * 소수를 차례대로 출력하는 프로그램을 만들어 봅시다.
  • 상협/삽질일지/2002 . . . . 1 match
          * 오늘은 그렇게 큰 삽질은 아니지만 요새 별다른 삽질이 없어서 적어본다. 오늘 비행기게임 프로젝트를 하고 있는데 파일에서 적 비행기 경로를 읽어와서 실행하는거를 하는데 이상하게 계속 안되는 것이었다. 분명히 난 맞게 텍스트 파일에 적이 나올 위치를 숫자로 적었고, 정확한 명령어를 사용했는데 말이다. 그래서 계속 삽질하다가 잠깐 밖에 나갈 일이 생겼다. 그런데 걷다가 곰곰히 생각하니깐 왠지 파일읽어 온것을 프로그램에서 string 형으로 생각한거 같았다. 그때 아차 하는 생각이 들었다. 역시 삽질은 안된다고 계속 반복하기보다는 원인을 곰곰히 생각해야 한다는 교훈을 얻었다. 뭐 몸이 그렇게 안따라 주지만. ㅡㅡ;
  • 상협/인공지능/오목 . . . . 1 match
          * 방향 일반화 : 8가지 방향 일반화 시키는법 및 그 방향들 패턴 만들기
  • 새로운위키놀이 . . . . 1 match
         [부드러운위키만들기]의 한가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
  • 새싹교실/2011/A+ . . . . 1 match
         과제로 배열을 이용한 구구단 만들기를 받았다.
  • 새싹교실/2011/AmazingC . . . . 1 match
          * 식별자란 프로그램을 할때 사용자가 다른 것과 구분할 수 있도록 하는 것
  • 새싹교실/2011/Pixar/3월 . . . . 1 match
          * main 함수는 프로그램이 시작하는 부분이예요. 앞으로 함수를 배우기 전까지 모든 코드는 main 함수 안에 작성합니다.
  • 새싹교실/2011/學高/8회차 . . . . 1 match
          * 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력한다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야한다.)
  • 새싹교실/2011/무전취식/레벨1 . . . . 1 match
          * C 동작 설명 : C는 고급언어다. 사람이 이해하기 쉬운언어. 프로그램을 짜고 컴퓨터에게 시키면 컴퓨터가 이해하기 쉬운 저급언어로 바꾸어 실행시키다.
  • 새싹교실/2011/무전취식/레벨10 . . . . 1 match
          * 주석을 이용한 프로그램 설계 방법
  • 새싹교실/2011/씨언어발전/5회차 . . . . 1 match
          * 배열을 사용한 학생의 점수계산 프로그램
  • 새싹교실/2012/나도할수있다 . . . . 1 match
          * 지난주에 수업했던 for,while의 복습으로 시작했다. 1부터 10까지의 합을 구하는 프로그램을 짜보라고 했는데 쉽게 하지 못하고 많이 버벅거렸다. 둘다 집에 비주얼 스튜디오가 없어서 복습을 안한 것 같다. 그리고 소라때리기 게이을 타이핑하게 하고, 소라때리기 게임에서 쓰이는 함수들을 설명해주었다. 그런데 한번에 너무 많은 양을 배워서 그런지 이해도가 떨어지는 것 같아서 다음주에 보충수업을 하기로 했다. 다음주 과제로는 MP를 추가해서 마법공격, 체력회복을 추가해오는것을 내주었는데 아마 안해올것 같다. -추성준
  • 새싹교실/2012/벽돌쌓기 . . . . 1 match
          * 첫 수업이라 많은 진도를 빼지 않고, 기본적으로 Hello World 프로그램 구현 가능에 중점을 두었다.
  • 새싹교실/2012/새싹교실강사교육/3주차 . . . . 1 match
         강사의 계정에 구글 협업 문서 만들기 -> 학생들의 계정 공유 등록 까지 마쳐봅시다.
  • 새싹교실/2012/아우토반/뒷반/3.23 . . . . 1 match
          * 강사가 정통부 부장이랑 같은 분이셨다.같이배우게 될 남학우도 정통부였다.오늘은 정통부 오리엔테이션을 빠지고 여학우 모임에 가지만 다음 모임엔 참석할 수 있었으면한다.다음부터는 수업이다.따라갈 자신은 없지만 못알아듣는다고 화내지 말았으면 좋겠다고 생각.자꾸 정통부이야기를 한것은 새싹교실에대해 경험한 일이 없어서다. 그리고 강사가 아는 선배분이란 것과 수금덕분에 지각횟수가 줄어들것이라느 점이 좋았고 강사한테도 수금을 하니 프로그램의 진지함도 보여 좋았다.앞으로 신세좀 지겠습니다~ ●u● - [박상희]
  • 새싹교실/2012/아우토반/뒷반/3.30 . . . . 1 match
         입력받은 정수를 한글 발음으로 출력하는 프로그램을 작성하시오
  • 새싹교실/2012/아우토반/앞반/4.19 . . . . 1 match
         == 은행관리 프로그램 메뉴를 짜봅시다 ==
  • 새싹교실/2012/열반/120319 . . . . 1 match
          * 프로그램의 시작점
  • 새싹교실/2012/열반/120326 . . . . 1 match
          * 목표 : f(x)=x²와 유사한 기능을 하는 프로그램을 작성하세요.
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 1 match
         = 프로그램 목적 =
  • 새싹교실/2012/햇반 . . . . 1 match
         상영:: 전 아무것도 모르고 이 전공을 택했고 물론 c프로그래밍에 관해서도 아무것도 몰랐지만 별찍기나 구구단만들기 같은 것을 하다보니 C프로그래밍에 흥미가 붙었고 더 많은 것을 해보고 싶다는 생각이 들었습니다
  • 새싹교실/2013/라이히스아우토반/6회차 . . . . 1 match
         여기서 오늘 switch 와 if 랑 else if 를 이용하여 프로그램을 짤 수 있다는 사실에서 정말 재밌었습니다.
  • 새싹교실/2013/록구록구/2회차 . . . . 1 match
          * wiki 가입 후 자기 페이지 만들기 [박정경] [이주영]
  • 새싹교실/2013/록구록구/8회차 . . . . 1 match
          반복문을 사용하여 배열의 모든 요소를 출력하는 프로그램을 만들어 보세요!
  • 새싹교실/2013/양반/3회차 . . . . 1 match
         구구단 만들기 재미있다.
  • 서민관 . . . . 1 match
          * 형한텐 항상 배울게 많네요. 최근 자바로 짜는 프로그램은 개발방식이 형이 하던거랑 꽤나 비슷해진거 같구요. 다음에 간단한 프로젝트 코드레이스라도 해보면 좋을거 같아요. ㅎㅎ 형, 겸손한것도 좋지만 자랑하는 것도 능력이에요. 형의 능력을 뽐내봐요! ㅎㅎㅎ -[김태진]
  • 서버재조립토론 . . . . 1 match
         [정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
  • 설득의심리학 . . . . 1 match
          * 중공군의 세뇌 프로그램 - 자발적 개입을 증명할 기록을 남긴다.(작문) 공식적 약속은 생명력이 길다.
  • 세벌식 . . . . 1 match
          * [임인택]의 경우 어떤 치과에서 키보드 키캡에 붙이는 스티커를 나눠주는 페이지를 보면서 처음 세벌식을 접하게 되었다. 그때가 2005 년 2월경이었는데 처음에는 무척 힘들었지만 6개월정도 지나니 익숙해졌다. 세벌로 전환하기 이전인지 이후인지 기억은 잘 나지 않는데, 스펀지라는 프로그램에서 공병우 박사님을 추모하면서 세벌식과 관련된 지식을 알아본 적이 있었다. 카이스트인지 포항공대인지에 다니는 한 학생이 실험을 했는데, 두벌, 세벌 모두 엄청난 속도로 타이핑하는 장면을 봤다. 충격이었다. 어떻게 각각을 저렇게 빨리 칠 수 있는지. 나도 예전에 타이핑이라면 한가닥 했었는데 10년이상 쓰던 두벌을 버리고 세벌로 전환한 이후 두벌속도가 급격하게 줄었다. 처음 세벌로 바꿨을때 세벌보다 두벌을 약 20배 정도 빨리 칠수 있었는데, 지금은 오히려 두벌이 더 느리다. 이걸 가지고 생각해 볼 수 있는 문제는 사고의 전환이다. 스펀지에 나왔던 학생은 두벌로 타자할때 두벌식으로 사고하고, 세벌로 타자할때 세벌식으로 사고했을 것이다. 조금 생각해보면 이는 우리가 공부하는데 빗대어 설명할 수 있을 것이다. 가령 함수형 언어를 쓸때는 함수형 언어의 패러다임으로만 생각하고, 객체지향 언어를 쓸때는 객체지향 패러다임만을 생각한다던지 하는 것이다. 지금 생각하건데, 그 학생은 두벌/세벌 타자에 있어서 구루인것 같다. 나도 두벌/세벌을 모두 쓰지만 두벌식을 쓸때 세벌식으로 생각하고 키를 누른다던지, 세벌식을 쓸때 두벌식으로 생각하고 키를 누르는 경우가 많다. 프로그래밍을 할때도 마찬지. 내가 배제하려고 하는것을 완전히 배제하지 못한다.
  • 소수구하기 . . . . 1 match
         100억의 소수 즉 11자리 소수를 구하는 프로그램이나
  • 손동일 . . . . 1 match
         == 좋은 프로그램 ==
  • 숫자를한글로바꾸기 . . . . 1 match
          문제 : 숫자를 입력 받아서 한글로 출력시키는 프로그램을 작성하여라.
  • 숫자를한글로바꾸기/허아영 . . . . 1 match
          - 리팩토링은 프로그램을 완성한 후에 하는것이 아니라 프로그래밍을 하는 도중에 하는게 더 좋다고 생각합니다. - 임인택
  • 숫자야구/강희경 . . . . 1 match
         이 코드를 다시한번 [리팩토링]하여 보세요. 프로그램을 조금 더 이해하기 쉽게 그리고 코드의 모양을 좀더 이쁘게 바꿀 수 있지 않을까요? 이미 작성했던 코드를 다시 작성한다거나, 기존에 자신이 작성했던 코드를 [리팩토링]한다면 많은 것을 얻을 수 있을 것입니다. [임인택]
  • 스터디제안 . . . . 1 match
         스터디를 하기 위해 또 다른 조직을 만들기가 부담이 된다면 이런 곳을 통해 인원을 모을 수 있겠습니다. 스터디하는 데에까지 꼭 멤버쉽 커뮤니티가 필요한 것은 아니겠죠.
  • 시간관리인생관리/요약 . . . . 1 match
         고객 다루기, 제품 만들기, 장부 기장, 회계
  • 신기호 . . . . 1 match
         ||나만의 게임(+게임 엔진) 만들기||
  • 신기훈 . . . . 1 match
         로그인할 때 profile만들기?
  • 실시간멀티플레이어게임프로젝트 . . . . 1 match
         테스트 만들기
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 1 match
         - 로그인 인터페이스 깔끔하게->표만들기 태그 이용
  • 실시간멀티플레이어게임프로젝트/프레임워크 . . . . 1 match
         Upload:frame_4.zip - 재동 - 현재시간으로 처음 화면 만들기, 로그인 후 바로 이벤트들 보여주기
  • 아동언어습득이론 . . . . 1 match
          생물학적 프로그램
  • 안성진 . . . . 1 match
         ○ 애인 만들기
  • 열정적인리더패턴 . . . . 1 match
         스터디 그룹은 지속적인 에너지(EnduringEnergyPattern)를 갖고 안전한 장소([안전한장소패턴])가 되기 위한 리더십이 필요하다. 이 패턴은 이런 특성을 만들기 위해 리더가 해야할 일을 설명한다.
  • 위키QnA . . . . 1 match
          * Regular Project 인원 3명이상 - 3명 이상이라면 세미나-스터디의 형태이거나, 단체 프로그램 목표, 기타의 단체 목표 일것이다.
  • 위키놀이 . . . . 1 match
         [부드러운위키만들기]의 한가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
  • 위키를새로시작하자 . . . . 1 match
          1'WIKI 페이지를 바로 만들기 보다 규칙을 만드는 페이지를 먼저 만들어서 규칙부터 정해보는 게 어떨까요? -[재니]
  • 위키에대한생각 . . . . 1 match
          * 검색을 하지 않고 페이지를 만들 경우 같은 내용을 담을 페이지가 생길 수 있다. 페이지만들기를 할 때 자동으로 검색을 한 다음 만들게 하는 방법도 괜찮은 듯하다.
  • 윤종하 . . . . 1 match
         그러고보니 물리엔진으로 ICBM 탄도계산 프로그램 만들어보는 것도 재밌겠군
  • 윤종하/지뢰찾기 . . . . 1 match
         콘솔 프로그램으로 열심히 짜봤구요, 음주코딩의 위대함을 깨달았습니다.
  • 이동현 . . . . 1 match
         자바라는 언어도 그렇다. 프로그램 만드는데 이처럼 간단할수가
  • 이민석 . . . . 1 match
          * ElanVital - 가사 시각화 프로그램
  • 이병윤 . . . . 1 match
         === 수강 신청 자동화 프로그램 ===
  • 이승한/java . . . . 1 match
         public static void main(String [] args){} // C의 void main() 과 같이 프로그램의 시작점이다. String [] args 는 실행될때 넘어오는 문자열 값을 보인다. 정확하게 무엇인지는 모르겠다
  • 이승한/mysql . . . . 1 match
          두부 만들기 : create database 두부이름;
  • 이영호/개인공부일기장 . . . . 1 match
         이러한 논쟁은 적을 만들기 쉽지만, 일부분은 받아들이고 옳다고 생각 되는 내 생각은 변하지 않는 것이 좋다. 내 생각이 그른 것이 아니기에. 가식은 싫다.
  • 이영호/문자열검색 . . . . 1 match
          fprintf(stderr, "\n프로그램을 종료합니다.\n");
  • 이영호/시스템프로그래밍과어셈블리어 . . . . 1 match
         API Hooking을 통해 Application 이하의 차원에서 프로그램을 자유 자재로 다룰 수 있다는 것을 배웠다.
  • 이영호/지뢰찾기 . . . . 1 match
          Reverse 하는 김에 모기 퇴치 프로그램도 같이 짜야 할듯; --[1002]
  • 이진훈 . . . . 1 match
         내가 생각한 프로그램을 짤 수 있는 프로그래머.
  • 이차함수그리기 . . . . 1 match
          문제 : 곡선 y = x ²을 인쇄하는 프로그램을 작성하여라.
  • 이차함수그리기/조현태 . . . . 1 match
          cout << "2차함수 출력 프로그램.";
  • 인터프리터/권정욱 . . . . 1 match
         [가상머신만들기]
  • 임수연 . . . . 1 match
         2학년되기 전까지 토익 800점 이상만들기!
  • 임인택/삽질 . . . . 1 match
          * C++ 에서 SingletonPattern 을 적용했는데.. 소멸자가 호출되지 않는것 같다.. 프로그램 종료시에 인스턴스를 강제로 삭제하였다. - 타이머 루틴에서 instance() 를 얻어왔는데. 타이머는 KillTimer 직후에 소멸되지 않는다.. 이로 인해.. 인스턴스가 삭제 된 후에 다시 생성되었었다...
  • 임지혜 . . . . 1 match
         == 표만들기 ==
  • 자료병합하기 . . . . 1 match
         a,b 데이터를 크기 순서로 (Ascending) 병합(Merge)하는 프로그램을 작성하여라.
  • 장용운/곱셈왕 . . . . 1 match
          위키 열심히 쓰는 건 좋은 일이니까 미안할 건 없어요 ㅋㅋ 근데 같이 쓰는거니깐 개인적인 용도로 만든 페이지는 이름 아래에 넣어주거나 하면 좋을 것 같아요. ''멀티게이'' 페이지도 처음엔 하위 페이지로 만들까 했는데 그건 내용 자체가 링크 한 줄만 있더라구요; 그래서 그냥 링크로 바꿨어요. 뻘한 내용이라도 이것저것 적을 게 있다면 페이지 만드는 걸 제한하진 않습니다 ㅎㅎ 다만 만들기 전에 진짜 필요한 페이지인지는 한번 생각해보고 만들어주세요~ - [김수경]
  • 전문가되기세미나 . . . . 1 match
          * 프로그래머가 이 프로그램을 사용하는 유저로부터 바로 피드백을 받을수 있나?
  • 정렬/조재화 . . . . 1 match
         == 두번째로 만든프로그램 ==
  • 정모/2002.7.11 . . . . 1 match
          * Instance MP3 - 한번만 사용하는 MP3 만들기
  • 정모/2002.9.12 . . . . 1 match
          1. 서버 해킹 -> neocoin 계정 해킹. 무작위 IP 로 패킷보내는 프로그램 설치하여 학교 네트워크 마비 => 전산센터에서 ZeroPageServer 블럭킹 => 외부접속 중단 => 서버관리자(99' 류상민)의 노력으로 서비스 재개
  • 정모/2004.04.27 . . . . 1 match
          * 위키 투표로 결정하자 - [노수민]이 투표 페이지를 만들기로 결정
  • 정모/2004.2.3 . . . . 1 match
          * TheJavaMan 은 프로젝트 참여자 전원이 참여하는 프로젝트인 비행기 게임 만들기를 새로 시작
  • 정모/2004.5.21 . . . . 1 match
          - 토이 프로그램 짜기
  • 정모/2004.6.28 . . . . 1 match
          *전시회출품작만들기 - [노수민] [황재선]
  • 정모/2004.9.24 . . . . 1 match
          * [스네이크바이트] - C++ 개념잡기, 프로그램 방법, 희경 강의 , - C++ 스터디 흥미없어질 때까지 유지
  • 정모/2004.9.3 . . . . 1 match
          * 출석부 만들기
  • 정모/2005.1.17 . . . . 1 match
          * 2005년 계획을 작성 할 페이지를 만들기로 했죠
  • 정모/2005.2.2 . . . . 1 match
          위키 설명회는 회원모집날에 같이 하기로 하였고, 프로그램 배틀과 Joint 엠티는 일단 보류되었으므로 나중에 정해지면
  • 정모/2005.3.7 . . . . 1 match
         === [부드러운위키만들기] ===
  • 정모/2006.12.20 . . . . 1 match
          * 블로그만들기(기훈) - 수생 건영 기훈
  • 정모/2006.4.10 . . . . 1 match
          * 연습용 RDBMS만들기..
  • 정모/2011.3.2 . . . . 1 match
         || 프로그램 || 진행자 ||
  • 정모/2011.4.11 . . . . 1 match
          * 악.. 후기를 썼다고 기억하고 있었는데 안썼네요ㅠㅠ.... 항상 새로운 프로그램을 준비하는 회장님께 박수를 보냅니다. 진실, 거짓은 전에도 해봤지만 자기를 소개하는 IceBreaking도 즐거웠습니다. 의외의 사실과 거짓은 항상 나오는 것 같습니다. 스피드 퀴즈도 즐거웠습니다. 재학생들이 그간의 활동을 회고하고 11학번 학우들이 새로운 키워드를 알게된 좋은 계기였다고 생각합니다. 순의의 OMS도 즐겁게 봤습니다. 자신이 이야기하고자 하는 내용을 좀 더 자신 있게 표현하지 못하고 약간 쑥스러워(?) 하는 면도 보였지만 동영상도 그렇고 많은 준비를 했다고 느꼈습니다. 다음 OMS에 대한 부담이 큽니다=_=;; - [Enoch]
  • 정모/2011.5.2 . . . . 1 match
          1. 똑똑한 지구를 위한 똑똑한 애플리케이션 공모전 많이들 참가하셨으면 좋겠어요. 저도 작년에 신청만 하고 결과를 못 낸 아쉬움이 있어 올해 다시 도전해볼까 생각중입니다. 공모전이라고 해서 복잡하고 대단한 프로그램을 만들어야 하는 게 아니라 사소한 아이디어를 잘 다듬어 참가할 수 있는 공모전이라고 생각합니다. - [김수경]
  • 정모/2011.5.23 . . . . 1 match
          * 세미나와 OMS 잘 봤습니다. 세미나는 해당페이지에서 후기를 쓰도록 하고.. 스크립트, 관심은 있는데 왜 자꾸 미루기만 하는건지. ㅜㅜ 요즘 얕게 이것저것 배우다보니(NXC를 포함하여) 문법이 점점 혼란스러워지고 있습니다. 그런 면에서는 스킴이 참 좋은데.. 응? 여튼 저만의 웹페이지를 만들기 위해 지금 막 HTML5와 자바스크립트를 보고 있습니다. 파이썬이나 펄 등등 하고싶은건 많은데 되는건 하나도 없네요ㅋㅋ - [정진경]
  • 정모/2011.9.27 . . . . 1 match
          * [송치완] 학우의 헬지폰 빠르게 만들기.
  • 정모/2012.10.15 . . . . 1 match
         ZeroPage의 IRC 채팅방을 만들었음. [ZeroPageServer/IRC]
  • 정모/2012.11.19 . . . . 1 match
          * [정진경]학우의 쓸모없는 설문조사 만들기
  • 정모/2012.11.26 . . . . 1 match
          * 전체적으로 학생 아이디어 착취를 위한 느낌의 프로그램이었음.
  • 정모/2012.4.9 . . . . 1 match
          * 드디어 학회실 정리를 했습니다. ..뭐 완전히 된거도 아니고 아직 잡다한 물건도 없지만 그런거야 점점 채워나가고 정리해나가면 되지 않을까요. ㅎㅎㅎ 1월부터 계속 준비해오던 것 중 하나가 드디어 결실을 맺어 다행이에요. 이제 수요일까지 써야하는 Friendship 지원서만 써내면 제 공약(?)중 하나인 ZP학회실 확보 + ZP부자페이지 만들기 를 실천하게 되는군요.!! ㅋㅋ - [김태진]
  • 정모/2012.7.11 . . . . 1 match
          * Spring - simple Wiki 만들기 진행.
  • 정모/2012.9.10 . . . . 1 match
          * RPG Maker - 목적: RPG Maker 에물레이터와 같은 기능의 툴 만들기. 매주 목요일 6시에 모여서 진행합니다.
  • 정모/2012.9.17 . . . . 1 match
          * RPG Maker - 목적: RPG Maker 에물레이터와 같은 기능의 툴 만들기. 매주 목요일 6시에 모여서 진행합니다.
  • 정모/2012.9.24 . . . . 1 match
          * ZP 책자 만들기
  • 정모/2013.1.8 . . . . 1 match
         == ZP책자 만들기 ==
  • 정모/2013.3.25 . . . . 1 match
          * [김홍기] 학우의 문서 내용으로 파일 찾는 프로그램 소개.
  • 정모/2013.4.15 . . . . 1 match
          * 메모장 만들기 하고 있음
  • 정모/2013.5.6 . . . . 1 match
          * [구남영] 학우의 : 사진이란 이름의 추억 만들기!
  • 정모/2013.8.12 . . . . 1 match
          * 10~11일, 을왕리 "추억 만들기" 펜션에 다녀왔습니다.
  • 정모/2013.8.5 . . . . 1 match
          * 장소는 을왕리 '추억만들기' 펜션입니다.
  • 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 1 match
         = 우리는 프로그램에게 희생을 강요당하고 있다 =
  • 정혜진 . . . . 1 match
         즐겁고 기억에 남는 대학생활 만들기^^
  • 조재화 . . . . 1 match
          * 03. 한해동안 C++MFC와 PYTHON그리고 JAVA를 좀 잘 이해해서 컴퓨터 프로그램이나 겜을 많이 만들고 싶당.
  • 조현태/놀이/시간표만들기 . . . . 1 match
         == 시간표 만들기 ==
  • 조현태/놀이/채팅서버 . . . . 1 match
         == [조현태/놀이/채팅서버] ==
  • 조현태의자바교실 . . . . 1 match
          * 2학년 1학기 컴퓨터프로그램설계 프로젝트 대비라는 성격을 지닌 GUI 강좌 및 스터디.
  • 졸업논문/요약본 . . . . 1 match
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
  • 좋은글귀s . . . . 1 match
          "우리가 애플에 있는 이유는 세계에서 가장 우수한 컴퓨터와 세계에서 가장 우수한 소프트웨어를 만들기 위함이다. 우리는 현재 가장 우수한 일부 제품을 가졌다. 그렇지만 그것을 한층 더 발전시킬 수 있다. 우리는 훨씬 더 우수한 제품들을 만들 방법을 알려고 매일 일하는 것이다. 그러므로 그것이 우리를 채찍질하는 역할을 한다. 우리는 세계에서 가장 좋은 제품을 만들려 애쓰고 있다. 그리고 그렇게 할 때 우리는 편히 잠자리에 들 수 있을 것이다." - 제프리 크루이상크의 '애플의 방식' 중에서 (더난, 67p)
  • 주민등록번호확인하기 . . . . 1 match
          알고리즘을 알아야 프로그램을 짜는뎅; ㅠㅠ - 태훈
  • 중앙도서관 . . . . 1 match
         전부 다 만들기엔 시간과 용기가 부족한 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
  • 중위수구하기/남도연 . . . . 1 match
          cout<<"프로그램 종료"<<endl;
  • 중위수구하기/허아영 . . . . 1 match
         내가만든 이 프로그램에서 변수 테이블을 만들어 보면.
  • 즐거운공부 . . . . 1 match
         ["상협"]이도 지금 방학때 하는 것들이 즐겁다. 자기가 하고싶은것, 자기가 만들고 싶은것을 만들기 위해서 어느 일정한 학습의 정신적 고됨이 있지만, 그후에 이것을 통해서 만들고 싶은것을 실제로 만든다는 것이 신기하고 즐겁다. 이렇게해서 눈으로 확인하는것, 그리고 이것이 다른 사람도 즐겁게 해줄수 있다는것, 이모든것이 나를 즐겁게 한다는것이 좋다.
  • 지금그때/OpeningQuestion . . . . 1 match
          * 전산병 : 홈피 만들기, 군 전산시스템 관리
  • 지금그때2003 . . . . 1 match
          [지금그때] 는 그 자체를 용어로, 이미지를 만들기 위해서 지은 것에 어느정도의 목적이 있습니다. 선후배이야기자리가 [지금그때]가 축약하는 내용을 상징하기에는 부족하다고 생각이 되었고, 새로운 용어를 만들면서, 그 자체에 의미를 부여하고, 우리가 평소에 부를수 있도록 짤막하게 해보았습니다. ex) 지금그때 에서 xx한 형식을 적용해보는 것은 어떨까요? --NeoCoin
  • 지금그때2003/선전문 . . . . 1 match
         더 좋은 자리로 만들기 위해서, 21일 금요일로 일주일로 연기하였
  • 지금그때2003/토론20030310 . . . . 1 match
          * ex) 프로그램 공부는 어떻게 하나요? , 요새 어떤 책을 보나요? , 영어공부는 어떻게 해야 하나요? , 사회에 나가면 어떤 일을 하나요? , 학교공부만 따라가면 충분한가요? , 학회에 속해야 하나요? 등등
  • 지금그때2003/후기 . . . . 1 match
          1. 전통 만들기
  • 지금그때2004/전통과사유20040329 . . . . 1 match
          * 6:00 현 진행 회원과 함께 연결점 만들기
  • 진법바꾸기/허아영 . . . . 1 match
         음.. 프로그램을 짤 때 각자의 가치관이 소스에 드러나는건 당연한 거고, 아영이의 가치관은 훌륭하기 그지없다고 봐.ㅎㅎ 회사에가서 소스를 작성했을때, 알려주기 싫다거나 귀찮다는 이유로 소스를 가지런히 만들지 않는다면, 그건 월급을 받고도 자기일을 다 하지않는 것과도 같을 테니까.ㅎㅎㅎ
  • 창섭 . . . . 1 match
         [http://165.194.17.15/pds/200232993449/SSHWinClient-3.1.0-build235.exe ssh 접속프로그램][[BR]]
  • 최대공약수/허아영 . . . . 1 match
         프로그램의 마지막 부분에서 원래 값을 프린트하고 그의 복사본으로 GCD를 계산하는 방법이 있다는 것을 알았다.
  • 최소정수의합 . . . . 1 match
         문제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
  • 최소정수의합/조현태 . . . . 1 match
         //1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성
  • 최소정수의합/최경현 . . . . 1 match
         // 문제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
  • 최소정수의합/허아영 . . . . 1 match
         만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개
  • 캠이랑놀자/보창/숙제1 . . . . 1 match
         == RGB channel만들기 ==
  • 캠이랑놀자/아영/숙제1 . . . . 1 match
         == RGB channel만들기 ==
  • 컴공과학생의생산성 . . . . 1 match
         생산성에 대해 신경 못쓰는 이유중 하나가 능력부족으로 인한 여유부족이 아닐까 하는 생각. 중간에 자기자신이 어떤 방식으로 프로그램을 만들고 있는지를 생각할 여유가 없어서인지도 모르겠네요. 그러한 점에서 개발하기 전의 문서와 작업일지를 작성하는 것이 중요하다고 생각합니다. (자신이 어떤 방식으로 생각을 하면서 일하고 있다라는 것을 인식하고 있는 것은 생산성을 높이기 위한 방법이 되지 않을까 하는.)
  • 큰수찾아저장하기 . . . . 1 match
         행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장한 다음, 이들을 깔끔하게 출력하는 프로그램을 작성하여라.
  • 타도코코아CppStudy . . . . 1 match
          * 매일매일 작은 프로그램을 짜보자!
  • 토비의스프링3/밑줄긋기 . . . . 1 match
          * 패턴이나 설계 원칙을 공부하는 이유는 폼나는 용어를 외우고 기계적인 지식을 습득하면 저절로 깔끔하고 유연한 코드가 나오기 때문이 아니다. 좋은 코드를 만들기 위한 개발자 스스로의 노력과 고민이 있을 때 도움을 주기 때문이다.
  • 토이/삼각형만들기/김남훈 . . . . 1 match
         [토이] [토이/삼각형만들기]
  • 튜터링/2013/고딩같은어셈 . . . . 1 match
          * 서울어코드 사업에서 진행하는 튜터링 프로그램에 참가해 튜터링 활동을 진행
  • 포항공대06입시 . . . . 1 match
          내 세울것들(논문, 프로그램 만든것등.. 참고 자료), 영어는 기본
  • 프로그래머의편식 . . . . 1 match
         에디터는 자기가 익숙하고 손에 편한 것을 쓰면 그만이다. 어떤 에디터를 쓰느냐 보다 그 에디터로 어떤 프로그램을 만들어 내는가가 더 중요하다. 울트라 에디터를 쓰던, vi를 쓰던, 메모장을 쓰던, 쓰는 사람만 편하고 좋은 코드만 만들어낼 수 있으면 된다. 어떤 guru가 vi를 쓴다고 해서, 자기도 vi를 쓰면 guru가 되는게 아니다.
  • 프로그래밍잔치/ErrorMessage . . . . 1 match
          * 그러다가 인수군과 상욱이는 커피 마시고 오고, 어쩌다 보니까 팀이 바뀌었다. 나도 모르는 새에--; 은지누나+창섭군, 인수군+기웅, 상욱 이렇게 나뉘었다. 은지누나랑 창섭군은 전화번호부를 계속 만들기 시작했고, 인수군과 기웅은 레이아웃 잡으면서, 전자수첩 비슷-_-하게 만들어 나갔다. 상욱이는 자바는 익숙하지 않다고 일단 c로 만능달력 만들겠다고 시작.
  • 프로그래밍잔치/셋째날후기 . . . . 1 match
         모여서 전화번호 핸드폰에 있는 문자로 입력받아 번호로 출력하는 프로그램을 짰다. (["Telephone"] 참조)
  • 프로그래밍잔치/첫째날 . . . . 1 match
          * 시연 MP3공유 프로그램 20
  • 피보나치/김재성,황재선 . . . . 1 match
          printf("이프로그램제작에 도움을 주신 황재선형님꼐 감사를 드립니다");
  • 피보나치/조재화 . . . . 1 match
         세번째로 만드는 프로그램~~(피보나치수열)
  • 피보나치/조현태 . . . . 1 match
          cout << "피보나치 수열을 출력하는 프로그램입니다.\n 몇번째 숫자를 출력하시겠습니까?";
  • 홈페이지만들기/css . . . . 1 match
         [홈페이지만들기]
  • 황세중 . . . . 1 match
          1. 어플 만들기
Found 1148 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 2.7081 sec